请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 534|回复: 0

Spring Boot2.0连载(37)-- 对象/关系数据库映射(ORM)

[复制链接]
发表于 2018-5-26 21:29:37 | 显示全部楼层 |阅读模式

更多Spring Boot2.0的知识敬请期待疯狂软件著作《Spring Boot企业应用实战》上市


ORM的全称是Object/Relation Mapping,即对象/关系数据库映射。可以将ORM理解成一种规范,它概述了这类框架的基本特征,完成面向对象的编程语言到关系数据库的映射。当ORM框架完成映射后,程序员既可以利用面向对象程序设计语言的简单易用性,又可以利用关系数据库的技术优势。因此可以把ORM当成应用程序和数据库的桥梁。
当使用一种面向对象的编程语言来进行应用开发时,从项目一开始就采用的是面向对象分析、面向对象设计、面向对象编程,但到了持久层数据库访问时,又必须重返关系数据库的访问方式,这是一种非常糟糕的感觉。于是人们需要一种工具,它可以把关系数据库包装成面向对象的模型,这个工具就是ORM。
ORM框架是面向对象程序设计语言与关系数据库发展不同步时的中间解决方案。随着面向对象数据库的发展,其理论逐步完善,最终面向对象数据库会取代关系数据库。只是这个过程不可一蹴而就,ORM框架在此期间会蓬勃发展。但随着面向对象数据库的广泛使用,ORM工具会逐渐消亡。
对于时下所有流行的编程语言而言,面向对象的程序设计语言代表了目前程序设计语言的主流和趋势,其具备非常多的优势。比如:
  • 面向对象的建模、操作。
  • 多态、继承。
  • 摒弃难以理解的过程。
  • 简单易用,易理解。
但数据库的发展并未能与程序设计语言同步,而且关系数据库系统的某些优势也是面向对象语言目前无法比拟的。比如:
  • 大量数据查找、排序。
  • 集合数据连接操作、映射。
  • 数据库访问的并发、事务。
  • 数据库的约束、隔离。
面对这种面向对象语言与关系数据库系统并存的局面,采用ORM就变成一种必然。只要依然采用面向对象程序设计语言,底层依然采用关系数据库,中间就少不了ORM工具。采用ORM框架之后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象(例如创建、修改、删除等),而ORM框架则将这些面向对象的操作转换成底层的SQL操作。
下图显示了ORM工具工作的示意图。
图4.1 ORM工具作用的示意图.png
如图所示,ORM工具的唯一作用就是:把对持久化对象的保存、修改、删除等操作,转换成对数据库的操作。由此,程序员可以以面向对象的方式操作持久化对象,而ORM框架则负责将相关操作转换成对应的SQL(结构化查询语言)操作。
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

微信群请扫二维码
QQ交流1群:
545923995
(未满)

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2020-2-25 09:55 , Processed in 0.332680 second(s), 7 queries , File On.

快速回复 返回顶部 返回列表