国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java中mybatis和hibernate的总结

java中mybatis和hibernate的总结

头像

小妮浅浅

2021-01-19 11:00:414282浏览 · 0收藏 · 0评论

在项目开发上,hibernate提供的经验简化了不少工作量和兼容性,但这些绝对需要有经验后才能明白,对于新手来说使用起来很困难。hibernate比mybatis掌握难度要高一些,对sql的控制弱一些。下面我们就三个方面带来mybatis和hibernate的总结分析,一起来看看二者的比较吧。

1.开发效率

如果是做一些简单的CMS类似的只有简单的增删改查的项目,那么使用Hibernate更有优势,不需要掌握太多的Hibernate知识,只需要会一些基本的查询和一些配置(Hibernate真正要学会,个人感觉知识量比mybatis大很多)。hiberbate是用java对象拼sql,mybatis是直接写原生sql。hibernate提供了很好的映射机制,mybatis还需要自己写resultmap paramMap这些东西。Hibernate和MyBatis都有相应的代码生成工具。可以生成简单基本的DAO层方法。针对高级查询,Mybatis需要手动编写SQL语句,以及ResultMap。而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。综上所述,那么从开发效率上来讲,Hibernate> mybatis。

2.可维护性

hiberbate是用java对象拼sql,mybatis是直接写原生sql。直接写SQL更容易维护,而前者需要通过java对象来看SQL,你得把sql,用System.out.println(sql);把SQL打印出来,才可以看到。Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。而Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。Hibernate HQL语句的调优需要将SQL打印出来,而Hibernate的SQL被很多人嫌弃因为太丑了。MyBatis的SQL是自己手动写的所以调整方便。但Hibernate具有自己的日志统计。Mybatis本身不带日志统计,使用Log4j进行日志记录。

3.性能

两者都提供了缓存,session机制。小项目两者差不多吧.大型项目mybatis>hibernate。

4.常见面试题

什么样的情况下,Hibernate 会慢MyBatis10倍?

Hibernate用错了的情况下,会出现:P

比如, Hibernate的对象A里的内嵌对象B加载被你从默认懒加载改为预加载(假设你没有搞懂影响,就改动了配置), 你要查询对象A的列表,就会出现N+1查询, 但你的大部分业务逻辑又不需要读取内嵌对象B,性能就会很差。

而一般情况下MyBatis, 这种查询是需要手写的。 出现这种情况的概率较小。

以上就是java中mybatis和hibernate的总结分析,总的来说hibernate不够灵活,封装的太深了,而mybatis可以随心所欲的配置想要的操作,大家可以根据自身的能力和使用进行挑选。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《偷尝禁果》韩国三级| 妈妈说今晚爸爸不回家| 女性真人外生图片大全| 9.1免费漫画网站NBA| 我妈妈同意你再做一次心理咨询 | 精神小伙| 含紧一点H楼梯边做边走视频| 《囚禁空姐》电影免费观看| 日本M码和欧洲码的区别AS..| 舌吻湿吻| 宜春香质| 母与子免费观看大全电视剧| 万能浏览器| 坤坤寒进桃子里在线看歌词 | 《性房纵欲》在线观看| 蜜桃3D| 真人做爰45分钟| 《医务室上垒》动漫全集在线观看| 女大馒头图片10张| 亲嘴还扔衣服| 白色变态蕾丝超薄开档连身袜| 欧美大片PPT免费PPT| 为什么男的用手抠女的信道| 苍老师巅峰之作第39集| 毛片| 欧美顶级RAPPER高清头像| 三男一女免费播放电视剧大全 | 秘书(高干)笔趣阁小说推荐| 星空无限MV国产剧入选精彩| 女兒亂倫在线观看| BOBO| 美国伦理4女警| AAAAABBBBBB级是什么.| 免费观看已满十八岁在线播放电视. | 小视频| 爆菊花爽吗| JD又大又粗又长又硬受不了| 《我的漂亮朋友》20点首播| 丈夫不在家儿媳想老公的背景故事 | 菠萝菠萝蜜在线观看免费版电视剧 | 苍老师最经典10部电影