首页 > 编程知识 正文

mybatis数据源,缓存与数据库的一致性

时间:2023-05-06 20:56:22 阅读:173683 作者:303

最近新学习了Hibernate框架,发现它与Mybatis还是有很多不同之处,使用习惯也不一样。 因此,我想整理一下两者的不同点。 如有错误,请指出。

首先介绍什么是ORM框架,什么是ORM框架。 Object Relational Mapping,简称ORMO/R Mapping,即对象关系映射。 是面向对象编程语言中实现不同类型系统的数据之间转换的编程技术。 效果是,创建了可以在编程语言中使用的“虚拟对象数据库”。 我个人认为,与jdbc的连接具有相似的模式,可以在访问不同对象时自行转换,从而统一开发人员代码的操作。 今天介绍的两个框架都是ORM框架。

Mybatis和Hibernate其实Mybatis是半ORM框架,半ORM意味着其持久层封装不彻底,给了开发者更多的空间控制数据库操作的细节。 Hibernate是一个完整的ORM框架,具有强大而完整的流程。 开发人员只需根据业务需求调用相应的接口方法就可以完成数据库的调用操作,开发人员不需要自己写sql语句。 但是,缺点很明显,因为sql语句是用框架编写的,所以业务操作变得复杂会导致性能下降。 因为,他的底层接口方法是固定的,不能人为修改。

在下面粘贴一系列操作的比较。 Mybatis持久层接口方法:

持久层xml映射文件sql语句: Mybatis的特点是需要自己写sql语句,也有优势和劣势吧。 您可以自己优化sql语句以提高性能。 当然,也可以使用Mybatis Plus。 即使开发者不写,也可以直接使用简单的sql语句的一部分

service层是普通的持久层方法调用。

看看执行情况吧。 如果不应用嵌套语句,则只执行一个sql语句

而在Hibernate中:

持久层界面:不用任何方法写。 只需继承一个接口

在实现类中,可以通过直接注入接口名称并调用接口附带的方法来完成数据库的操作

看看执行情况:

为了添加方法,执行了两条语句

删除方法我在这里进行了级联删除,但是也执行了四个语句

相比之下,Mybatis只执行了一条语句就实现了相同的功能。

总结了工程结构、代码结构以及执行情况的比较,可以得到以下内容。

1、操作上Mybatis需要开发人员手工编写,使用方便。 HIbernate大部分直接调用,开发者只需要编写注释和继承接口,新学者难以使用;

2、功能上Mybatis只执行所写的sql语句; Hibernate自动调用一系列辅助语句来共同达成业务需求。

3、在应用场景中,Mybatis支持创建高性能APP应用,能够满足各种复杂的业务需求。 适合对APP应用要求比较高的互联网行业。 另一方面,Hibernate sql文件是固定的,适用于业务需求简单固定的行业,如erp等。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。