一、概述
Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。
该库可帮助您在运行应用的设备上创建应用数据的缓存。此缓存充当应用的单一可信来源,使用户能够在应用中查看关键信息的一致副本,无论用户是否具有互联网连接。定义参考该链接
二、Room数据库的三个主要组件
- 数据库类,用于保存数据库并作为应用持久性数据底层连接的主要访问点。
- 数据实体,用于表示应用的数据库中的表。
- 数据访问对象 (DAO),提供您的应用可用于查询、更新、插入和删除数据库中的数据的方法。
数据库类为应用提供与该数据库关联的 DAO 的实例。反过来,应用可以使用 DAO 从数据库中检索数据,作为关联的数据实体对象的实例。此外,应用还可以使用定义的数据实体更新相应表中的行,或者创建新行供插入。图 1 说明了 Room 的不同组件之间的关系。参考文档
1.Room中Entity的常用注解
注解 | 说明 |
---|---|
@Entity | 声明实体类。 |
@PrimaryKey | 声明主键。 |
@ColumnInfo | 声明字段在数据表中的属性。 |
@Ignore | 禁止将字段映射到数据表。 |
更多的详细的介绍可以参考文档;
1.Room中Dao的常用注解
注解 | 说明 |
---|---|
@Dao | 声明接口是DAO。 |
@Query | 将SQL查询语句映射为Java方法。 |
@Insert | 将SQL插入语句映射为Java方法。 |
@Delete | 将SQL删除语句映射为Java方法。 |
更多的详细的介绍可以参考文档;
1.Room中DataBase
Database是Entity和DAO的集合,也是访问Entity和DAO的入口。Database是一个抽象类,每个DAO由一个抽闲方法返回。
网友评论