国产成人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可以随心所欲的配置想要的操作,大家可以根据自身的能力和使用进行挑选。

关注

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

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

胬肉(产乳)| 《高压监狱3》法国版正版| 伦理《播种》| 电影《满足2》完整版在线观看 | 榜上佳婿电视剧全集免费观看高清 | A片| 高清国产少女免费观看电视剧| 美女| 40岁女人如饥似渴最佳解决方法| 成品PPT网站大片入口| 《医务室上垒》动漫全集在线观看 | 麻花传MV在线观看第15集预告| 为啥越骚的女人干的越爽| 77777免费观看电视剧推荐适.| 内地禁止上映的6部大电影| 趁老师睡着破了她的处| 小学语文教材| 香蕉视频| 第-次和公翁做爰又大又粗| 《满清十大酷刑》| 《厨房韵母2》动漫下线了吗| 欧美XBOX与IPHONE| 校花被教官扒开腿狂躁| 《女仆教育》动漫第一季| 公粗一夜6次挺进我的密道| 大杂烩(TXT)小说阅读| 中字《喝醉的丈夫被结城送回家》| 适合深夜看的脸红的小说| 透明女仆服装开裆连体衣| 蜜桃2| 爸妈离婚女儿成爸爸的女人| 女人没开过包啥样| 一晚上要了小姑娘三次| 床上瑜伽| 指尖搅动我的心弦| 退休后日大女儿的隐喻和含义| 公交车NP粗暴H强J玩弄| 免费观看已满十八岁电视剧中文版..| 九九影视在线观看免费最新电视剧| 坤坤赛进桃子里在线看歌词 | 儿媳妇免费播放全部电视剧