Room数据库使用详解
一、基础使用
-
依赖库
implementation 'androidx.room:room-runtime:2.2.5' implementation 'androidx.room:room-common:2.2.5' implementation 'androidx.room:room-ktx:2.2.5' kapt "androidx.room:room-compiler:2.2.5"//class DbUser和接口UserDao关联起来 //额外的还有rxjava2、guava的支持包
-
特性
-
SQL语句高亮(封装原始的sqlite)
-
简单入门,依赖库小(相比greenDao、ObjectBox、Realm等)
-
功能强大
-
数据库监听
-
支持Kotlin协程/RxJava/Guava
不足:性能对比其他优秀数据库框架,并无优势;对于ORM的支持不是很好
-
-
常用注解
-
@Entity 修饰 数据表实体类(内部至少有一个primaryKey标记的字段)
-
@Database 数据库的抽象类
-
@Dao 用于操作数据表的Dao接口
-
@insert 新增
-
@update
-
@delete
-
@query
-
-