美文网首页
Jetpack之ROOM

Jetpack之ROOM

作者: 放羊娃华振 | 来源:发表于2022-09-12 22:24 被阅读0次

    一、概述

    Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。
    该库可帮助您在运行应用的设备上创建应用数据的缓存。此缓存充当应用的单一可信来源,使用户能够在应用中查看关键信息的一致副本,无论用户是否具有互联网连接。定义参考该链接

    二、Room数据库的三个主要组件

    • 数据库类,用于保存数据库并作为应用持久性数据底层连接的主要访问点。
    • 数据实体,用于表示应用的数据库中的表。
    • 数据访问对象 (DAO),提供您的应用可用于查询、更新、插入和删除数据库中的数据的方法。

    数据库类为应用提供与该数据库关联的 DAO 的实例。反过来,应用可以使用 DAO 从数据库中检索数据,作为关联的数据实体对象的实例。此外,应用还可以使用定义的数据实体更新相应表中的行,或者创建新行供插入。图 1 说明了 Room 的不同组件之间的关系。参考文档

    图 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由一个抽闲方法返回。

    三、参考链接

    Room使用简介Android—Room数据库多表查询(Relationships)

    相关文章

      网友评论

          本文标题:Jetpack之ROOM

          本文链接:https://www.haomeiwen.com/subject/zazowrtx.html