一、对象关系映射 - 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 数据库

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: