hibernate和mybatis的区别
1 简单简介 Hibernate 框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,建立对象与数据库表的映射。是一个全自动的、完全面向对象的持久层框架。
Mybatis框架
Mybatis是一个开源对象关系映射框架,原名:ibatis,2010年由谷歌接管以后更名。是一个半自动化的持久层框架。
2 两者区别 2.1 开发方面
在项目开发过程当中,就速度而言:hibernate开发中,sql语句已经被封装,直接可以使用,加快系统开发;Mybatis属于半自动化,sql需要手工完成,稍微繁琐;但是,凡事都不是绝对的,如果对于庞大复杂的系统项目来说,复杂语句较多,选择hibernate就不是一个好方案。2.2sql优化方面Hibernate自动生成sql,有些语句较为繁琐,会多消耗一些性能;Mybatis手动编写sql,可以避免不需要的查询,提高系统性能;2.3对象管理比对Hibernate是完整的对象-关系映射的框架,开发工程中,无需过多关注底层实现,只要去管理对象即可;Mybatis需要自行管理映射关系;2.4缓存方面
相同点:
Hibernate和Mybatis的二级缓存除了采用系统默认的缓存机制外,都可以通过实现你自己的缓存或为其他第三方缓 存方案,创建适配器来完全覆盖缓存行为。
不同点:
Hibernate的二级缓存配置在SessionFactory生成的配置文件中进行详细配置,然后再在具体的表-对象映射中配置是那种缓存。
MyBatis的二级缓存配置都是在每个具体的表-对象映射中进行详细配置,这样针对不同的表可以自定义不同的缓存机制。并且Mybatis可以在命名空间中共享相同的缓存配置和实例,通过Cache-ref来实现。
比较:
Hibernate具有良好的管理机制,用户不需要关注SQL,如果二级缓存出现脏数据,系统会保存,;Mybatis在使用的时候要谨慎,避免缓存CAche的使用。
Hibernate优势
Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。
Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。
Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。
Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。
Mybatis优势
MyBatis可以进行更为细致的SQL优化,可以减少查询字段。
MyBatis容易掌握,而Hibernate门槛较高。
一句话总结 Mybatis:小巧、方便、高效、简单、直接、半自动化
Hibernate:强大、方便、高效、复杂、间接、全自动化
看完上述内容,你们对hibernate和mybatis有什么区别有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注本站行业资讯频道,感谢大家的支持。
本文由 贵州做网站公司 整理发布,部分图文来源于网络,如有侵权,请联系我们删除,谢谢!
抖音(Tiktok)是由北京字节跳动科技有限公司(ByteDance)孵化的音乐创意短视频社交网站。它于2016年9月20日上线,主要面向全年龄段的用户,尤其是...
飞极速为您提供高清在线电影、电视剧大全、动画片,综艺等,飞极速在线更新及时,播放速度快,给您带来最好的观影体验!飞极速在线,免费提供日本新番动漫、最新电影和最新...
《南华早报》(英语:South China Morning Post, SCMP)和星期日出版的《星期日南华早报》(英语:Sunday Morning Post...
投资者在参与天通银交易过程中,需要支付如下费用:点差、手续费、延期费、提货费、交货费等。点差:铂金交易点差前一天结算价0.02% 白银固定交易点差8元人民币/千克。手续费:收取标准不超过成交金额的万分之八,其中交易所收取万分之三,其余部分由综合会员收取。延期费:0.02%。提货费:包括加工费、运输费等,收取标准为每克14元人民币;交货费包括检验费、重铸费等,收取标准为每克6元人民币。提货费、交货费...
【资料图】哈喽小伙伴们 ,今天给大家科普一个小知识。在日常生活中我们或多或少的都会接触到湖北十堰二汽在哪方面的一些说法,有的小伙伴还不是很了解,今天就给大家详细的介绍一下关于湖北十堰二汽在哪的相关内容。湖北十堰二汽供应处位置:十堰市张湾区。附近公交站点:东汽供应处公交站,东风供应处公交站,东风零部件集团总部公交站,东风有限十堰总部公交站,秦家沟口公交站。湖北十堰二汽体育馆位置:十堰市张湾区车城南路...
生活中,很多人都不知道教师节英语手抄报内容 这些内容仅供参考,其实非常简单,下面就是小编搜索到的教师节英语手抄报内容 这些内容仅供参考相关的一些知识,我们一起来学习下吧!1、教师节的由来英文版:Teachers' Day comes on September 10th every year. On the day we usually give our teachers cards to show...