国产成人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短视频| 成品人和精品人的区别哪个好 | 美国性伦1980禁忌禁忌| 精产一二三产区划分标准图片| 华为新品手机发布| 做爰高潮A片(毛片)| 妈妈你真棒里面的插曲叫什么 | 小蓝电影全集免费观看 | 为何是你| 驾校情缘(老树开花)孙潇笔趣.| 大雷QQ弹弹跳舞| 继母的朋友| 《老板送醉酒丈夫回家》 | 小妈妈2免费观看完整电视剧| 国产| 黑暗荣耀免费观看完整版电视剧| 家公给我治疗5中字| 九九在线观看免费播放大全电视剧| 日本护士裸体做爰视频| 美女和帅哥一起努力生产豆浆的视.. | 自慰被发现然后被C了H漫画| 朋友的妈妈7中字谜| 妻子的肉体偿还》5| 少女配狗视频大全播放| 老师好爽要尿了潮喷了18P| 疯狂祖母免费观看高清版| 男人添女人荫道口视频| 欧美一区二区| 美女| 《厨房激战5》完整版在线观看| 美国伦理《轻佻寡妇》| 人犬兽人在线观看免费完整一| 一家乱战1-13集大| 女同学上课用嘴帮我口出来| 《老公今晚我加班》免费阅读| 密爱电影版完整版免费观看高清| 不许穿内裤我要CAO你| 妈妈让我戴上避孕套的下一句是啥 | 坤坤寒入桃子里电视剧免费看| 《一滴都不许漏》何泽城林荫 | 女人尝试到更粗大的心理变化