当前位置: 首页 > news >正文

视觉差网站插件wordpress如何加入备案许可证编号

视觉差网站插件,wordpress如何加入备案许可证编号,石家庄网站建设系统,白帽seoRoom使用 回顾 数据库有多张表#xff0c;一张表只能记录一种Class#xff0c;Class的具体属性是这个表的列#xff1b;所有对表的操作都要通过Dao来访问 注解说明#xff1a; Enity 作用于Class上#xff0c;表示创建一张表记录该Class#xff0c;Class内部属性使用…Room使用 回顾 数据库有多张表一张表只能记录一种ClassClass的具体属性是这个表的列所有对表的操作都要通过Dao来访问 注解说明 Enity 作用于Class上表示创建一张表记录该ClassClass内部属性使用ColumnInfo声明该列名字和Type Dao 作用于Interface该interface主要是提供访问表进行增删改查的接口。使用对应增删改查注解标识方法 Database 声明数据库(需为abstract)该注解属性entities需声明该数据库中的所有表version表示该数据库的版本,数据库中声明返回Dao实例的方法 使用流程 通过Room的静态方法databaseBuilder传入context数据库的class对象数据库的名称(db结尾)调用build函数就创建了数据库 数据类 Entity(tableName student) data class StudentBean(PrimaryKey(autoGenerate true) var id: Int 0,ColumnInfo(name name, typeAffinity ColumnInfo.TEXT) var name: String,ColumnInfo(name age, typeAffinity ColumnInfo.TEXT) var age: String,ColumnInfo(name sex, typeAffinity ColumnInfo.TEXT) var sex: String )Dao Dao interface StudentDao {Insertfun insertStudent(student: StudentBean)Deletefun deleteStudent(student: StudentBean)Updatefun updateStudent(student: StudentBean)Query(select * from student)fun getStudentList():ListStudentBeanQuery(select * from student where id:id)fun getStudentById(id:Int):ListStudentBean }//声明 Database(entities [StudentBean::class],version 2) abstract class MyDataBase : RoomDatabase() {companion object{private const val DATABASE_NAMEmy_dbprivate var instance:MyDataBase?nullfun getInstance(context:Context):MyDataBase{instance?.let {return it}//创建Room数据库需要三个参数1.上下文context2.数据库Class 3.数据库名字db结尾//会通过反射创建数据库ClassImpl的实例 数据库Class名字和数据库名称//build方法会反射创建M有MyDataBaseImpl类并调用该类的init方法return Room.databaseBuilder(context.applicationContext,MyDataBase::class.java,DATABASE_NAME).addCallback(object : Callback() {override fun onCreate(db: SupportSQLiteDatabase) {super.onCreate(db)Log.i(wwwwwwwwwwwwwww, RoomDataBaseonCreate: )}override fun onOpen(db: SupportSQLiteDatabase) {super.onOpen(db)Log.i(wwwwwwwwwwwwwww, RoomDataBaseoonOpen )}override fun onDestructiveMigration(db: SupportSQLiteDatabase) {super.onDestructiveMigration(db)Log.i(wwwwwwwwwwwwwww, 数据库被破坏 )}}).addMigrations(object : Migration(1,2) {override fun migrate(database: SupportSQLiteDatabase) {database.execSQL(ALTER TABLE student ADD COLUMN sex TEXT NOT NULL DEFAULT 女)}}).build()}}abstract fun getStudentDao():StudentDao 借助build的返回值访问Dao进行增删改查操作 2.降序升序在databaseBuilder函数后添加迁移策略addMigrations构造函数的两个版本对应迁移的版本migrate函数是匹配对应策略后进行的操作 大致原理 疑问Dao中只是定义了访问数据库的接口数据库也只是个抽象类返回Dao实例的接口还没有实现 在编译期间借助KAPT插件生成Database标记的实现类类名只是添加了一个后缀_Impl而Dao也会生成对应的_Impl后缀的实现类 查看Dao的实现类发现其每一个crud都是一个事物并且在uiThread操作会crash如果需要多个操作按顺序进行而不是单个事务一样需要添加Transition标记方法内部curd将按顺序执行 这两个生成的类可以在该目录下找到build/generated/source/kapt/debug/com/example/myapplication/room 1、databaseBuilder会创建RoomDatabase的Builder对象保存传入的参数(比如数据库的class,数据库名称版本迁移策略数据库打开关闭回调)初始化一些的配置参数 build中会反射创建出数据库class_Impl的实例然后返回。 2.获取dao之后进行curd在crud内部首先看有没有挂起的事务如果Thread 1提交的事务还没有结束Thread2提交后会报crash(ThreadLocal保证) 3.接着打开数据库也就是在进行crud的时候才会打开数据库。其中会判断是否进行迁移 4.cud的每个操作验证完23后就会开启一个事务.beginTransaction()接着设置事务的成功或Fail。最后结束事务 原文链接Jetpack Room使用 - 掘金 (juejin.cn)
http://www.w-s-a.com/news/351439/

相关文章:

  • 网站建设全国排名沈阳seo按天计费
  • 成都公司网站设计无锡seo网站推广费用
  • 建网站平台要多少钱购物网站界面设计策划
  • 学完js了可以做哪些网站长沙建站官网
  • 怎么样做问卷网站多少钱英语
  • 房产网站建设方案建筑公司是干什么的
  • wordpress建的大型网站柳州市网站建设
  • 石家庄做网站的公司有哪些微信自媒体网站建设
  • 池州哪里有做网站注册公司有哪些风险
  • 做古代风格头像的网站对网站政务建设的建议
  • 网站搜索栏怎么做设计个网站要多少钱
  • 阿里巴巴网站建设目标wamp wordpress
  • 自己做的网站怎么挂网上金蝶erp
  • 网站的页面由什么组成淘宝网网站建设的需求分析
  • 软文网站推广法dede5.7内核qq个性门户网站源码
  • 个人备案网站名称校园网站建设特色
  • vr超市门户网站建设班级网站怎么做ppt模板
  • 网站建设一般是用哪个软件刚开始做写手上什么网站
  • 用jsp做的网站源代码下载有哪些做红色旅游景点的网站
  • 网站开发的技术选型黄石市网站建设
  • 做直播网站需要证书吗专做宝宝的用品网站
  • 网站标题用什么符号网站制作交易流程
  • dede模板网站教程jsp网站搭建
  • 上海网站开发外包公司鲜花导购网页制作
  • 宿州外贸网站建设公司个人注册网站一般做什么
  • 小公司做网站用哪种服务器什么是网站代理
  • 青岛李村网站设计公司cms建站平台
  • 做saas网站可行吗许昌抖音推广公司
  • 网站建设找谁做seo基础知识培训
  • 微网站怎么做的好建设网站不会写代码