hibernate与mybatis的优缺点

1、hibernate真正掌握要比mybatis难,因为hibernate的功能和特性非常多,还不适合多表关联查询。

2、hibernate和mybatis都有代码生成工具,可以生成简单的dao方法。但对于高级查询mybatis需要自己写sql以及resultMap,而hibernate有良好的反射机制,提供预定义查询只需遵循一定的语法规范无需写sql语句。

3、1)hibernate调优方案:1、制定合理的缓存策略2、尽量使用延迟加载特性3、采用合理的session管理机制4、使用批量抓取设定合理的批处理参数5、进行合理的O/R映射设计      

      2)mybatis调优方案:mybatis和hibernate的session是一致的所以也需要合理的session管理机制,可以进行详细的sql优化

4、hibernate查询会将所有关联表的字段全部查询出来,会导致性能消耗,当然hibernate也可以自己写sql指定字段,但这就破坏了hibernate的简洁性       mybatis的sql是自己手动编写的,所以可以指定查询字段       hibernate自带日志统计,会将sql打印出来而hibernate的sql被很多人嫌弃太丑       mybatis不带日志统计需要使用log4j,而mybatis的sql是自己手动写的调整也方便

5、hibernate与数据库管联只需在xml文件中配置即可,所有的HQL语句都与具体使用的数据库无关,移植性很好       mybatis所有的sql都是依赖所用数据库的,所以不能更换数据库,移植性差

6、hibernate是在jdbc上进行一次封装,mybatis是基于原生的jdbc,运行速度较快

总结:

hibernate优势: hibernate的dao层开发比mybatis简单,mybatis需要维护sql和结果映射 hibernate对对象的维护和缓存要比                                         mybatis好,对增删改查的对象维护要方便 hibernate数据库移植性好,mybatis不同的数据库要写不同的sql,移植                                性差

mybatis优势: mybatis门槛较低更容易掌握 mybatis可以进行sql优化,自己编写sql可以指定查询字段 如果有上千万的表或者单次                       查询或提交百万数据以上不建议使用hibernate 如果统计功能,多表关联查询较多较复杂建议使用mybatis

 

--------------------- 本文来自 杏杏杏 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/sinat_37054984/article/details/54973379?utm_source=copy

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值