hibernate工作使用步骤 spring事务 hibernate执行顺序
spring事务 hibernate执行顺序
在Spring Servic
“mybatis”和“hibernate”的区别是什么?
Mybatis是一个类似hibernate的orm数据库框架。它与hibernate非常不同,有以下几点:
总而言之:
Mybatis:小巧、方便、高效、简单、直接、半自动。
Hibernate:强大、便捷、高效、复杂、曲折、全自动。
1.hibernate是全自动的,mybatis是半自动的。
Hibernate可以自动生成sql。Mybatis只有基本的字段映射,仍然需要手写sql来实现和管理。
2.hibernate数据库比mybatis可移植性强很多。
Hibernate大大降低了对象和数据库(oracle、mysql等)之间的耦合。)通过其强大的映射结构和hql语言,而mybatis需要手工编写sql,所以其可移植性会大大降低,成本也非常高。
3.hibernate有完整的日志系统,mybatis缺少一些。
Hibernate日志系统很健全,涉及面也很广,而mybatis除了基本的记录功能,还有很多弱功能。
相比hibernate需要关心很多细节。
Hibernate配置比mybatis复杂很多,学习成本也比mybatis高。但正是因为mybatis使用简单,所以它比hibernate更在意很多技术细节。因为麦巴蒂斯没有。;t不需要考虑很多细节,开发模式和传统jdbc有很大不同,而hibernate正好相反。但是,如果你熟练使用hibernate,其实开发效率并不比mybatis差甚至更好。
5.在SQL的直接优化上,mybatis比hibernate方便多了。
因为mybatis的sql是用xml写的,所以优化sql比hibernate方便很多。然而,许多hibernate 的sql是自动生成的,所以不可能直接维护SQL。简而言之,hibernate写sql不如mybatis灵活。
mybatis:
1.入口简单,就是易学易用,提供数据库查询。自动对象绑定功能。
2.可以进行更细致的SQL优化,减少查询字段。
3.缺点是框架还是比较简单,功能还是缺失。虽然简化了数据绑定代码,但是整个底层数据库查询实际上都是自己写的,工作量比较大,不容易适应快速的数据库修改。
4.二级缓存机制不好。
休眠:
1.功能强大,数据库独立性好,O/R映射能力强。
2.有更好的二级缓存机制,可以使用第三方缓存。
3.缺点是学习门槛不低,熟练门槛较高,如何设计O/R映射,如何在性能和对象模型之间取得平衡,如何用好Hibernate,都需要你的经验和能力。
举个形象的比喻:
Mybatis:机械工具很好用。你什么时候带都可以用,但是工作还是要自己做。
Hibernate:智能机器人,但是开发它的成本(学习和熟练度)很高,工作可以摆脱它,但是受限于它能做什么。
mybatis hibernate Hibernate 数据库 sql
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。