Mybatis和Hibernate的比较

两者都是比较流行的ORM框架,前者的着力点在POJO与SQL之间的映射关系,而后者对操作数据库做出了较为完整的封装。

两者最大的区别:

Hibernate:有良好的映射机制,开发者无需关系SQL的生成与结果映射。

Mybatis:需要手动编写SQL语句以及ResultMap。

开发难度对比:

Hibernate:开发难度比Mybatis难度大,主要是因为他比较复杂,庞大,学习时间较长。

Mybatis:相对简单一些。

SQL书写比较:

Mybatis:手动书写,没有自己的日志统计,所以要借助log4j来记录日志。

Hibarnate:具有自己的日志统计,SQL语句也可以自己编写,但是这样就违背的Hibarnate框架的初衷。

缓存机制比较:

相同点:

Hibernate和Mybatis的二级缓存除了采用系统默认的缓存机制外,都可以通过实现自己的缓存或为其他第三方缓存方案,创建适配器来完全覆盖缓存行为。

不同点:

Hibernate对查询对象有着良好的管理机制,用户无需关心SQL。所以在使用二级缓存时如果出现脏数据,系统会报出错误并提示。(hibernate脏读报错

MyBatis使用二级缓存时需要特别小心,如果不能完全确定数据更新操作的范围,避免Cache的盲目使用。否则,脏数据的出现会给系统的正常运行带来很大的隐患。(Mybatis脏读不报错

总结:

Mybatis的优势在于他可以进行更细致的SQL优化,可以减少查询字段,并且也比较容易掌握。

Hibernate的优势在于他在DAO层开发比Mybatis简单,他的数据移植性比较好。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值