一、概念

面向对象编程和关系型数据库,是两种最主流的技术,但它们的编程模型不一样。

面向对象编程:把所有实体看成对象(Object)。
关系型数据库:采用实体之间的关系(relation)连接数据。

如果使用对象来表达关系,那么就可以使用面向对象编程来操作关系型数据库。
image.png

ORM就是通过实例对象的语法,完成关系型数据库操作的技术,是 ”对象-关系映射” (Object/Relational Mapping) 的缩写。

数据库的表(table) —> 类(class) 记录(record)行数据 —> 对象(object) 字段(field) —> 对象的属性(attribute)

二、Java中ORM


image.png

JPA统一了Java应用程序访问ORM框架的规范,是一种规范,hibernate是JPA的实现。

image.png

三、JDBC

ORM工具内部使用JDBC API与数据库进行交互。
JDBC API支持两层和三层处理模型进行数据库访问,但在一般的JDBC体系结构由两层组成:

  • JDBC API: 提供了应用程序对JDBC的管理连接。
  • JDBC Driver API: 支持JDBC管理到驱动器连接。
  • JDBC API的使用驱动程序管理器和数据库特定的驱动程序提供透明的连接到异构数据库。
  • JDBC驱动程序管理器可确保正确的驱动程序来访问每个数据源。该驱动程序管理器能够支持连接到多个异构数据库的多个并发的驱动程序。

image.png

参考

1、ORM 实例教程-阮一峰,讲解的比较清楚。
2、hibernate框架
3、主流Java ORM框架有哪些?
4、JDBC教程