MyBatis-Plus弊端
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上做的增强,号称是"为简化开发、提高效率而生"。
为什么会诞生MyBatis-Plus这个东西呢?明眼人一猜就能明白,无非就是MyBatis有不足,MyBatis-Plus想做个增强,把MyBatis的不足给补上。
以彼之道,还彼之身。照此推理,既然连大名鼎鼎的MyBatis都有不足,那么MyBatis-Plus肯定也有不足,也有弊端。说白了,它补上了MyBatis的不足,同样也暴露了自身的不足。
使用MyBatis-Plus弊端有几个:
(1)增加了学习成本。mybatis功能已经足够强大,足以应付绝大多数的开发,再花费时间和精力去学习mybatis-plus,走取巧之路,有好的一面,肯定也有不好的一面。
(2)增加了升级和维护成本。mybatis升级之后,mybatis-plus还能不能用呢?如果不能用或者出现bug,这就是一个风险。
(3)造成团队分裂。一个团队,萝卜青菜各有所爱,mybatis是事实的标准,功能强大,全世界范围的程序员都在使用,mybatis-plus呢,未必所有的人都赞同使用这个工具。
综之,mybatis只是个orm框架,是对jdbc的封装,从它的初衷和使命来看,其已经非常强大,而且完美。
首先请问mybatis官方为何不想方法减轻开发人员的操作呢?
其次:
1、mybatis plus学习成本并不高,他的条件构造借鉴了Hibernate,方便上手;
2、如果可以,希望mybatis官方能与苞米豆团队取得联系进行交流,合作共赢;
3、mybatis plus是对mybatis的进一步封装,并未限制mybatis的任何功能,团队中有人不喜欢可以不使用plus,只需要能看懂构造语句即可(另外一部分公司本来就是是会封装mybatis的,只是plus公开发布并更加规范化了)
其实,这个问题很难一两句话就能说清楚的。任何决定都是两面性的,有得必有失嘛。
使用到的过程中,发现疑似mybatis plus创建了大量的sql(String)常量池,导致jvm抛出常量池已满的异常,是使用问题还是plus的bug