一篇文章带你搞懂为什么要使用 ORM
文章目录
一、什么是 ORM?
ORM(Object-Relational Mapping) 表示对象关系映射。
在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射
简单的说:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。
二、为什么要使用 ORM
我们已经学习过:一篇文章带你搞懂 PreparedStatement 执行 sql 的对象
知道需要通过数据库表来操作实体类,流程如图:
整个过程中:操作繁琐,占位符赋值麻烦
对于操作的繁琐,解决办法我们学习过:学习 JDBC 工具类一篇文章就够了
对于占位符赋值麻烦:操作对象,就相当于直接操作数据库表,不需要占位符
(1)建立实体类和表的关系
(2)建立实体类中属性和表中字段的关系
这其实就是 ORM 思想,其中的关键就是两个映射关系:
- 实体类和表的映射关系
- 实体类中属性和表中字段的映射关系
- 不再重点关注 SQL 语句
实现了 ORM 思想的框架:mybatis,hibernate,Jpa
对于mybatis 的学习:学习 Mybatis 一篇文章就够了
hibernate:
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
JPA:
JPA的全称是Java Persistence API, 即Java 持久化API,是SUN公司推出的一套基于ORM的规范,内部是由一系列的接口和抽象类构成。
JPA通过JDK 5.0注解描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。