说说使用mybatis的一些体会吧

本文探讨了Mybatis和Spring Data JPA的使用体验,指出Mybatis通过代理模式对JDBC进行封装,提高了部分开发效率,但需要维护SQL映射。而Spring Data JPA提供简洁的数据库访问,简化SQL编写,但可能不适合复杂查询。作者建议根据项目需求选择合适的框架,并提及Mybatis Plus作为Mybatis的增强版,适合复杂业务场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从上面图我们可以知道具体的一个使用mybatis的流程框架,我自己的想法是,和JDBC相比,mybatis就是把相应的主业务和次业务进行了拆分。然后运用了代理模式,形成了对JDBC主要业务的一个代理(在build的sqlSessionFactory时候,代理对象已经生成了对mapper的代理,在使用中,我们只要使用代理对象就可以进行具体的操作,这个动作其实就是解耦)。在我感觉两者没什么多大的区别,只是设计上的差别,在开发效率上觉得还是差不多的,但是如果使用generator自动生成器mybatis还是会快点。

相比较而言,我还是比较喜欢springdata的JPA,相对于mybatis 来说,开发效率提升很多,JPA只要一个类,实现对应的接口就可以进行相应的操作,不像mybatis一样对应的文件超级多。

 

但是对比一下两个:

Mybatis 可以进行更细致的SQL优化,查询必要的字段,但是需要维护SQL和查询结果集的映射,而且数据库的移植性较差,针对不同的数据库编写不同的SQL,还可以进行类型转换,拦截器等等操作
Spring Data JPA 极大的简化了数据库访问,可以通过命名规范、注解的方式较快的编写SQL

 

所有对比而言还是应该看项目的实际情况来做决定,我在知乎上的一个人说的就很不错:

先去使用任意一种,然后当你发现现在框架有什么痛点的时候,你希望进一步优化的时候,再看看其他框架是否解决了你的痛点。 你就会明白另一个框架的优势了。

 

另外mybatis升级版mybatis plus也是和JPA一样封装了基础了CRUD,但是我看去还是很多对于的文件,mapper,xml这些都少不了;

如果业务较强的项目,即逻辑繁琐,数据操作较多的项目,建议使用mybatis或mybatis-plus,因为jpa对于复杂查询不友好,除非你写原生sql使用,那这样的话使用jpa也就没意义了,复杂业务的话我肯定选myabtis-plus,目前已经完善很好了,在mybatis的基础上简化了许多代码复杂度,具体用法可以百度,这个框架比较推荐,那不复杂的业务比如登陆权限控制这些可以用jpa的,项目中可以没有一句sql,谁用谁知道爽
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值