沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散!
有很长一段时光对mybatis是比较陌生的,肮脏道与Hibernate一样是个orm数据库框架。跟着应用闇练度的增长,发明它与Hibernate差别是异常大年夜的,应当结合不合的情况分析选用。结合至今为止的经验,总结出以下几点:
1. hibernate是全主动,而mybatis是半主动
hibernate完全可以经由过程对象关系模型实现对数据库的操作,拥有完全的JavaBean对象与数据库的映射构造来主动生成sql。而mybatis仅有根本的字段映射,对象数据以及对象实际关系仍然须要经由过程手写sql来实现和治理。
2. hibernate数据库移植性弘远年夜于mybatis
mybatis:
hibernate经由过程它强大年夜的映射构造和hql说话,大年夜大年夜降低了对象与数据库(oracle、mysql等)的耦合性,而mybatis因为须要手写sql,是以与数据库的耦合性直接取决于法度榜样员写sql的办法,如不雅sql不具通用性而用了很多某数据库特点的sql语句的话,移植性也会随之降低很多,成本很高。
hibernate日记体系异常健全,涉及广泛,包含:sql记录、关系异常、优化警告、缓存提示、脏数据警告等;而mybatis则除了根本记录功能外,功能脆弱很多。
3. hibernate拥有完全的日记体系,mybatis则欠缺一些
4. mybatis比拟hibernate须要关怀很多细节
hibernate设备要比mybatis复杂的多,进修成本也比mybatis高。但也正因为mybatis应用简单,才导致它要比hibernate关怀很多技巧细节。mybatis因为不消推敲很多细节,开辟模式上与传统jdbc差别很小,是以很轻易上手并开辟项目,但忽视细节会导致项今朝期bug较多,因而开辟出相对稳定的软件很慢,而开辟出软件却很快。hibernate则正好与之相反。然则如不雅应用hibernate很闇练的话,实际上开辟效力涓滴不差更甚至超出mybatis。
5. sql直接优化上,mybatis要比hibernate便利很多
跟着应用情况的赓续增多,我又做了进一步的总结总结:
2. 有更好的二级缓存机制,可以应用第三方缓存。
mybatis:小巧、便利、高效、简单、直接、半主动
hibernate:强大年夜、便利、高效、复杂、绕弯子、全主动
因为mybatis的sql都是写在xml里,是以优化sql比hibernate便利很多。而hibernate的sql很多都是主动生成的,无法直接保护sql;虽有hql,但功能照样不及sql强大年夜,见到报表等掉常需求时,hql也歇菜,也就是说hql是有局限的;hibernate固然也支撑原生sql,但开辟模式上却竽暌闺orm不合,须要转换思维,是以应用上不是异常便利。总之写sql的灵活度上hibernate不及mybatis。
1. 入门简单,即学即竽暌姑,供给了数据库萌芽的主动对象绑定功能,并且延续了很好的SQL应用经验,对于没有那么高的对象模型请求的项目来说,相当完美。
2. 可以进行更为过细的SQL优化,可以削减萌芽字段。
3. 缺点就是框架照样比较简陋,功能另出缺掉,固然简化了数据绑定代码,然则全部底层数据库萌芽实际照样要本身写的,工作量也比较大年夜,并且不太轻易适应快速数据库修改。
4. 二级缓存机制不佳。
hibernate:
1. 功能强大年夜,数据库无关性好,O/R映射才能强,如不雅你对Hibernate相当精晓,并且对Hibernate进行了恰当的封装,那么你的项目全部持久层代码会相当简单,须要写的代码很少,开辟速度很快,异常爽。
3. 缺点就是进修门槛不低,要精晓门槛更高,并且怎么设计O/R映射,在机能和对象模型之间若何衡量取得均衡,以及如何用好Hibernate方面须要你的经验和才能都很强才行。
举个形象的比方:
mybatis:机械对象,应用便利,拿来就用,但工作照样要本身来作,不过对象是活的,怎么使由我决定。
hibernate:智能机械人,但研发它(进修、闇练度)的成本很高,工作都可以摆脱他了,但仅限于它能做的事。
【编辑推荐】
- HiTSDB时序数据库技巧架构和产品解析
- 分布式数据库数据一致性道理解释与实现
- 硬件是若何影响数据库的成长
- 谷歌推出视频数据库“AVA”,中国联通与腾讯合作共建云数据中间
- 若何设备MySQL数据库超时设置
推荐阅读
沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散!“我们很多基层法院都是如许。在广东,特别是珠三角的一些地区,案件数量大年夜、檀卷多,对法官造成的压力是异常大>>>详细阅读
本文标题:浅析Mybatis与Hibernate的区别与用途
地址:http://www.17bianji.com/lsqh/38266.html
1/2 1