手把手教你如何扩展(破解)mybatisplus的sql生成 | 京东云技术团队
mybatisplus 的常用CRUD方法 众所周知,mybatisplus提供了强大的代码生成能力,他默认生成的常用的CRUD方法(例如插入、更新、删除、查询等)的定义,能够帮助我们节省很多体力劳动。 他的BaseMapper中定义了这些常用的CRUD方法,我们在使用时,继承这个BaseMapper类就默认拥有了这些能力。 如果我们的业务中,需要类似的通用Sql时,该如何实现呢? 是每个Mapper中都定义一遍类似的Sql吗? 显然这是最笨的一种方法。 此时我们可以借助mybatisplus这个成熟框架,来实现我们想要的通用Sql。 扩展常用CRUD方法 新增一个通用sql 比如有一个这样的需求,项目中所有表或某一些表,都要执行一个类似的查询,如`SelectByErp`,那么可以这样实现。(这是一个最简单的sql实现,使用时可以根据业务需求实现更为复杂的sql:比如多租户系统自动增加租户id参数、分库分表系统增加分库分表字段条件判断) 定义一个SelectByErp类,继承AbstractMethod类,并实现injectMappedStatement方法 定义sql方法名、sql...

