2016 - 2024

感恩一路有你

hibernate工作使用步骤 spring事务 hibernate执行顺序

浏览量:2681 时间:2023-04-10 11:52:31 作者:采采

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

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。