目录
1.概念
2.组成
3.导入依赖
4.具体实现
4.1 数据表的设置
4.2 方法接口
4.3 数据库类 -》 基石,使用模板
4.4 实现真正的实例Room库
1.概念
Room 持久性库在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库
一句话——Room是简化的SQLite数据库
2.组成
Room 包含三个主要组件:
- 数据库类,用于保存数据库并作为应用持久性数据底层连接的主要访问点。
- 数据实体,用于表示应用的数据库中的表。
- 数据访问对象 (DAO),为您的应用提供在数据库中查询、更新、插入和删除数据的方法。
3.导入依赖
plugins{...
id("kotlin-kapt")
} dependencies{...implementation("androidx.room:room-runtime:2.5.2")annotationProcessor("androidx.room:room-compiler:2.5.2")kapt("androidx.room:room-compiler:2.5.2")implementation("androidx.room:room-ktx:2.5.2")
}
4.具体实现
4.1 数据表的设置
@Entity(定义该类的表明)
@PrimaryKey 设置主键 (此处为pid) ——》autoGenerate = ture 表示自动生成主键
4.2 方法接口
方法只需注释(查找的注释需要简单阐释)-》具体实现Room底层已经封装OK
4.3 数据库类 -》 基石,使用模板
先表明注解@Database ,database是抽象类,继承RoomDataBase父类
定义抽象Dao方法供外界调用
提供外界获取database对象的方法 【这里Helper.mContext其实就是在其他地方获取context,这里直接调用即可】
4.4 实现真正的实例Room库
从database获取dao, 直接调用dao的已知方法——》封装成提供外面调用的新方法