数据库

注册

 

发新话题 回复该主题

如何评价MyBatisPlus [复制链接]

1#

MyBatis-plus简单来说就是一款Mybatis增强工具,用于简化开发,提高效率。下文使用缩写mp来简化表示MyBatis-plus,致力于MyBatis的基础上只做增强不做改变,为简化开发,提高效率而生。

Mybatis虽然已经给我们提供了很大的方便,但它还是有不足之处,实际上没有什么东西是完美的,MP的存在就是为了稍稍弥补Mybatis得不足。

在我们使用Mybatis时会发现,每当要写一个业务逻辑的时候都要在DAO层写一个方法,再对应一个SQL,即使是简单的条件查询、即使仅仅改变了一个条件都要在DAO层新增一个方法,针对这个问题,MP就提供了一个很好的解决方案,之后我会进行介绍。

虽然MybatisPlus这个框架上手确实快,而且根本不用写sql语句,也不用xml文件。直接创建查询类,就可以迅速连接数据库了。但问题是,MybatisPlus这种过度封装的框架,最大的问题就是强行把service层,dao层,entity层绑定在一起,耦合度太高了。

java开发,虽然名义上叫作面向对象开发,但实际开发过程中,主要就是面向数据库开发。对于一个程序员而言,最长做的事情,就是crud。generator生成的,我感觉的就够用了,复杂点就把example生成出来用,方法的命名一看就懂,mp的命名有的还是有迷惑性的。

crud肯定是所有开发中最基础的,虽然很多人经常吐槽,面试的时候造火箭,等入职了实际干的就是拧螺丝的活。但其实复杂的业务场景,往往就是由最基础的crud构成的。至于说数据库变更啥的,重新生成一下也就点一下的事,自己写的sql都是放extend.xml,至少mp对我来说没方便多少,也就是接口和xml中代码少了。

相比mybatis-plus等扩展mybatis框架他们做越来越像hibernate,jpa搞Criteria那套基本脱离mybatis优点,MyBatisPlus则正好解决了单表CURD的痛点,实际使用过程中,只需要编写一个专门和数据库表对应的实体类,以及继承它的BaseMapper就行了。

分享 转发
TOP
发新话题 回复该主题