1、简介
ORM,即Object-Relational Mapping(对象关系映射),提供了实现持久化层的另一种模式。它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,由框架根据映射关系自动生成,只需简单的操作对象的属性和方法,这就是ORM思想。
2、发展
ORM发展经历了从JDBC到DBUtils,再到Hibernate、Mybatis、MybatisPlus的发展阶段。
最初的JDBC连接数据库内容繁琐,需要写死SQL语句,增加许多重复的工作量,同时不利于对于代码的维护和升级,数据库有变动则需要重新修改语句。
DBUtils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,使用DBUtils 能极大简化JDBC编码的工作量,同时也不会影响程序的性能。
Hibernate则是一个基于JDBC的开源的持久化框架,是一个优秀的ORM实现,是一个开放源代码的对象关系映射框架,同时也是一个全ORM框架。它对JDBC进行了较为轻量级的对象封装,它将entity数据库表建立映射关系,是个全自动的ORM框架,Hibernate可以自动生成SQL语句,自动执行使得Java程序员可以随心所欲的使用面向对象编程思维来操作数据库。
MyBatis 是一款优秀的持久层框架,是一个半ORM框架,仍然需要编写SQL语句。它支持自定义 SQL、存储过程以及高级映射。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
MybatisPlus是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis 对于简单的单表操作没有提供一套现成的通用的增删改查(CRUD)操作,而MybatisPlus已经封装好了一些CRUD方法,直接对这些方法进行调用。
3、现状
市面常见的ORM框架有:.Net体系有:EntityFramework、Dapper、CYQ.Data。Java体系有:MyBatis、Hibernate、Speedment。
随着软件开发的发展,在数据库操作方面,ORM框架逐渐取代了传统的手写SQL语句的方式,成为了主流的选择之一。特别是Mybatis,对于市场的使用占比高,为主流ORM框架之一。由于ORM框架拥有提高开发效率、降低重复性代码(ORM框架提供了一些通用的API和功能)、跨平台和跨数据库支持、抽象数据库细节以及丰富的生态系统和社区支持等优势,ORM框架在市场中的使用率一直保持较高水平。
参考文献:
- SevenWang.ORM框架的前世今生[EB/OL].(2018-08-28 ).
https://www.cnblogs.com/7tiny/p/9551754.html
2. lx4hkk5yox6ya.ORM框架的发展历史[EB/OL].(2023-09-26).
https://www.cnblogs.com/7tiny/p/9551754.html
3. mxxiaochi.比较一下JDBC, dbutils, Mybatis和Hibernate[EB/OL].(2018-10-24).https://blog.csdn.net/weixin_42470710/article/details/83345946
4. yangqiao.JDBC高级(二):DbUtils[EB/OL].(2020-03-22).https://zhuanlan.zhihu.com/p/115169558
5. 李阿昀.Hibernate框架入门——Hibernate基础[EB/OL].(2016-10-04 ).https://blog.csdn.net/yerenyuan_pku/article/details/52733275