MyBatis、Hibernate及ORM框架的概念

ORM框架

ORM(Object/Relational Mapping,即对象关系映射)就是一种为了解决面向对象与关系数据库中数据类型不匹配的技术,它通过描述Java对象与数据库表之间的映射关系,自动将Java应用程序中的的对象持久化到关系型数据库的表中。ORM的工作原理:

从图中可以看出,使用ORM框架后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象 (Persisent Object,PO),而ORM框架则会通过映射关系将这些面向对象的操作转换成底层的SQL操作。

ORM框架的产品有很多,常见的有Hibernate和MyBatis。

Hibernate

Hibernate是一个全表映射的框架。开发者只需要定义好持久化对象到数据库的映射关系,就可以通过Hibernate提供的操作完成持久层操作。

优点:

  • 开发者不需要熟练地操作SQL语句的编写。Hibernate会根据制定的存储逻辑,自动的生成对应的SQL,并调用JDBC接口执行,所以其开发效率会高于MyBatis。

缺点:

  • 在多表关联时,对SQL查询的支持较差;
  • 更新数据时,需要发送所有字段;
  • 不支持存储过程;
  • 不能通过优化SQL来优化性能等

这些问题导致其只适合在场景不太复杂且对性能要求不高的项目中使用。

MyBatis

MyBatis是一个半自动映射的框架。这里所谓的"半自动"是相对于Hibernate全表映射而言的,MyBatis需要手动匹配提供POJO、SQL和映射关系,而Hibernate只需提供POJO和映射关系即可。

缺点:

  • MyBatis手动编写SQL,工作量大。

优点:

  • 可以配置动态SQL并优化SQL
  • 可以通过配置决定SQL的映射规则
  • 支持存储过程

对于一些复杂的和需要优化性能的项目来说,显示使用MyBatis更加合适。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值