mybaitis和Hibernate的区别

相同点:他们都是市面上流行的ORM框架。他们均是通过xml配置生成sessionFactory然后通过sessionFactory生成session执行sql和管理事务。他们都支持JDBC和事务管理。

区别主要在一下几个方面体现:​

1.开发速度

​   MyBatis支持的学习相比Hibernate更简单,支持原生sql,学习更简单。Hibernate的学习难度更大。开发速度差距不大。MyBatis要维护dao层数据库字段和bean属性映射,Hibernate要在bean中添加字段映射。

2.运行效率

   MyBatis支持原生sql自定义查询字段更加灵活,基本属于JDBC操作。hibernate是对JDBC更复杂的封装。每次查询需要完整的映射,对待复杂的查询通过HQL语句生成的sql语句效率不能保证。​所以MyBatis会比Hi稍快。

3.日志管理

  MyBatis需要log4j打印日志。Hibernate有自己带的日志系统,且更细致。​

4.缓存机制

    Hibernate具有一级缓存和二级缓存。一级缓存为session缓存​,当session失效缓存也失效。二级缓存是SessionFactory级别,由于SessionFactory在系统中是单例,所以二级缓存会一直存在整个应用的生命周期中。

5.映射方式

​    MyBatis的对象关系映射配置灵活,Hibernate则需要配置完整的对象关系映射,对象关系维护的更好。业务表的关联太多,建议使用MyBatis。

6.sql优化性能调优​

​    MyBatis原生sql性能优化,有时候相比Hibernate自动生成的sql好太多。

7.数据库移植方面​

    MyBatis的数据移植方面,没有Hibernate。Hibernate自动生成sql能适应更多的数据库,并且能反向生成表。​

8.后期维护​

    MyBatis后期维护比Hibernate更方便

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值