MYBATIS教程 – 与Hibernate比较

MyBatis和Hibernate之间有很大的区别,Hibernate以Java对象为中心,是一种ORM,MyBatis以sql为中心,是加强版sql,两者适用场景不一样。

MyBatis的使用场景:

  • 希望直接优化维护sql
  • 系统由关系数据模型驱动
  • 必须处理现有数据或复杂数据

通常web项目中使用Mybatis较多,如果环境是由对象模型驱动的,则使用Hibernate。

MyBatis与Hibernate的区别

MyBatis Hibernate
简单,轻量级,利用第三方工具可自动生成sql 相对复杂,学习成本高,自动生成sql
灵活,开发速度快 可伸缩性强,具缓存功能
使用SQL, SQL可能依赖于数据库,但一般项目更换数据库的概率不大 使用独立于数据库的HQL,不依赖数据库
由结果集映射到Java对象,可做到与表结构无关 Hibernate将Java对象映射到数据库表
在MyBatis中使用存储过程非常容易 在Hibernate中使用存储过程有点困难

Hibernate和MyBatis都与SPRING框架兼容,从框架角度来看用哪个都不是问题。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载