一篇文章带你搞懂为什么要使用 ORM

一、什么是 ORM?

ORM(Object-Relational Mapping) 表示对象关系映射。

在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射

简单的说:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。

二、为什么要使用 ORM

我们已经学习过:一篇文章带你搞懂 PreparedStatement 执行 sql 的对象

知道需要通过数据库表来操作实体类,流程如图:
一篇文章带你搞懂为什么要使用 ORM
整个过程中:操作繁琐,占位符赋值麻烦

对于操作的繁琐,解决办法我们学习过:学习 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注解描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。