MyBatis-Plus提供了一个对于SQl注入器的实现:LogicSqlInjector。
我们只需要仿照这个类便可轻松完成自定义。
(代码质量比网上随便找的很多文章要好,毕竟作者自己写的。)

对应的实现类包括:

  • 首先,是一堆的AbstractLogicMethod实现类(AbstractLogicMethod是AbstractMethod的子类,前者重写了后者一些方法,方便逻辑sql语句的生成。而我们只需要继承后者,仿照前者实现即可)
  • 然后,是SqlMethod枚举类(优雅使用枚举类的代表,简化注入sql的管理。我们只需要仿照着些自己的枚举类即可)
  • 最后,模仿BaseMapper接口,给出自定义的接口(并且在接口中有自定义的方法声明),即可通过注入获取接口的***实现,调用自定义sql注入器给出的方法实现。

具体自定义代码的实现,可以参考:https://www.cnblogs.com/liuyangfirst/p/9744011.html