Android Jetpack组件化之ORM 数据库访问框架详解

本文介绍了Android中的ORM框架,尤其是Google的Room框架,包括其组成部分:@Entity、@Dao、@Database注解,以及如何使用Room进行数据库操作。通过使用Room,开发者可以简化SQLite数据库的访问流程,提高开发效率和可移植性。
摘要由CSDN通过智能技术生成

一、对象关系映射 - ORM / Object Relational Mapping


Android 系统中使用的数据库是 SQLite 关系型数据库 , 使用 Android 提供的 api 访问 SQLite 数据库非常繁琐 , 由此出现了很多 ORM 框架 ;

ORM 英文全称 Object Relational Mapping , 对象关系映射 ;

对象关系映射 ORM 是一种编程技术 , 面向对象编程语言 与 关系型数据库 之间的 映射 ;

  • 对象 指的是 面向对象编程语言 ,
  • 关系 指的是 关系型数据库 ;

借助 ORM 对象关系映射 框架 访问数据库 , 可以 简化数据库操作流程 , 开发人员使用面向对象 API 与 数据库进行交互 , 比编写复杂的 SQL 语句操作数据库 要简单很多 ;

ORM 框架常使用 元数据 将 数据库表 与 编程语言中的类 进行映射 , 数据库表字段 与 类中的字段 一一对应 , 常用的元数据有 :

  • 注解
  • 配置文件

ORM 框架优点 :

  • 提高了开发效率 : 使用 ORM 操作数据库 简化了数据库操作过程 , 令代码更容易开发维护 ;
  • 提高了可移植性 : 使用 ORM 框架操作数据库 , 可以在 不改变代码的前提下 , 更换底层数据库 ;
  • 提高了性能 : 可以 总体优化 ORM 框架的 增删查改 操作性能 ;
  • 提高了安全性 : 可避免直接使用 SQL 语句查询时 , 产生的 SQL 注入攻击 ;

常见的 ORM 框架 :

  • Android 平台 : GreenDao / ORMLite ;
  • JavaEE 平台 : Hibernate ;
  • .NET 平台 : Entity Framework ;
  • Python 平台 : DiangoORM ;

在 Android 中 , Google 官方提供了一个基于 SQLite 关系型数据库操作封装的 ORM 框架 , Room 框架 ;

二、Room 框架的组成部分


1、@Entity / @Dao / @Database 注解

Room 框架中的重要注解 :

  • @Entity 注解 : 用于修饰 JavaBean 实体类 , 对应数据库中的一张表结构 ;

  • @Dao 注解 : 用于修饰 数据库访问对象 类 , 其中定义了 数据库的 增删改查 函数 ;

  • @Database 注解 :

    修饰 数据库持有者 , 数据库持有者 就是 数据库链接对象 , 是 应用持久化数据底层连接的接入点 ;

    • 使用 @Database 注解 修饰的类 , 该类必须继承 RoomDatabase 抽象类 ;
    • 在该注解中 , 需要定义 数据库 相关的 实体类 列表 ;
    • 数据库持有者 包含 没有参数的抽象方法 , 该方法返回 Dao 对象 ;

2、Entity 实体类 / Dao 数据库访问对象 / Database 数据库持有

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值