荣新IT培训中心
全国咨询热线:400-1335-066
您现在的位置:首页>行业新闻 > 正文

Java培训 Hibernate与MyBatis对比

时间:2017-09-14 11:03:41 来源:荣新IT教育培训 作者:荣新科技

今天首先恭喜荣新科技Java培训班的同学成功入职金融公司,月薪8K,祝这位同学在成功的道路上越走越远,好了,接下来看今天分享的内容Hibernate与MyBatis对比。

Java分析培训 Hibernate与MyBatis对比

一、不同点

MyBatis在数据库的操作上比Hibernate要灵活,主要由于MyBatis是自己写SQL语句,并且支持动态查询,可以理解为一种可以编程的SQL语句。所以在数据的操作上是比Hibernate便当得多。Hibernate在这方面灵活性不如MyBatis,它用HQL语句来中止数据库的操作,HQL是完好数据库独立的,Hibernate经过HQL语句自动生成SQL语句,我们完好不用关心数据的到底是怎样被操作的。>>>>更多java知识了解尽在荣新科技<<<

Hibernate支持继承映射和集合映射(一对一,一对多,多对多)。MyBatis在这方面则需求自己写SQL语句。Hibernate无需关心SQL的生成与结果映射,可以更专注于业务流程。

Hibernate在优化方面的才干好得多。Hibernate的缓存战略配置愈加丰厚(SessionFactory对象保管二级缓存数据),并且默许运用延时加载特性(只需运用对象的时分才会央求SQL语句)。Session的管理机制也愈加完善,同时支持批量抓取(把数据库的数据抓取到内存然后操作内存中的数据)。

Hibernate的HQL言语和数据库完好独立,因此可移植性很好,换一个数据库不需求修正代码,MyBatis项目中一切的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。

总结:Hibernate在我看来是愈加面向对象的,我们关注点在与对象的状态,而不是到底执行了什么SQL语句。因此在数据库操作上不会像运用动态SQL语句的MyBatis那么轻松。它的好处在于后期的维护和调优比较强大。可以配置的东西比较多。Hibernate的功用假设要全部学会的话需求很大的学习本钱。假设学会了的话理论的代码工作量会小很多,由于不用自己写SQL,并且性能和强壮性会好很多。

MyBatis就好在简单易用,上手快,持续了很好的SQL运用阅历,关于没有那么高的对象模型恳求的项目来说,运用起来非常随手。代价就是功用比较粗陋,后期优化的空间不大,并且一切的对数据库底层的操作其实还是自己手写的。很多互联网公司在用MyBatis。

二、相同点

1.都可以运用XML创建映射文件和配置文件。也都可以是用注解,但是不举荐用注解,注解的运用范围比较小。

2.关于单一表,CRUD的操作都比较简单,两者的工作量没有什么区别。

3.都可以经过工具生成DAO的大部分代码。

4.二级缓存都可以自行配置,进步运转效率。

5.都支持日志保管,Hibernate有自己的日志保管机制,MyBatis需求运用Log4j。

6.架构相同

Hibernate和MyBatis运用的是相同的框架,由于他们都是对JDBC的封装,只是Hibernate封装的更完好一点
荣新科技温馨提示:学习是最好的投资,回报率相当惊人,只要同学们坚持下去,一定会获得丰厚的报酬,就像上面那位同学一样。好了,这次分享就到这里,下次见!