今天咱们来聊聊 MyBatis Plus 。从它诞生的初衷来看,是为了简化开发,一些基础的增删改查都给分装好了,少量做些配置就行,这确实给不少程序员减轻了工作负担。
相比之下,MyBatis 就显得稍微繁琐些,得写好 SQL 语句,不管简单还是复杂。从简化开发的角度,MyBatis Plus 略胜一筹。如果项目较小,有时间要求,开发人员水平也不太高,选择 MyBatis Plus 能更快完成工作。
但为什么又不太建议大家使用它呢?
首先,它封装了太多东西,很多小伙伴会习惯性依赖其基础查询,导致很多数据逻辑写到了 service 层甚至 controller 层,代码层次容易混乱,阅读性很差。其次,这还会带来性能问题。MyBatis Plus 查询默认是全字段,不可能每个字段都用得上,遇到大字段还会影响网络 IO,并发一上来,性能肯定受影响。
也许有同学会说,不是有自定义 SQL 语句的功能吗?用它不就行了。理论上可行,但就怕大家用着用着偷懒,项目一忙又忽略规则,采用简单粗暴的方法,最终走向无序。