手把手教你如何扩展(破解)mybatisplus的sql生成

💡 原文中文,约7000字,阅读约需17分钟。
📝

内容提要

Mybatisplus提供强大的CRUD方法,可以通过扩展BaseMapper类和定义SQL方法和模板来实现自定义SQL。还可以通过扩展DefaultSqlInjector类来添加自定义SQL注入和方法。通过继承GyhBaseMapper,表可以自动生成在BaseMapper中定义的SQL。此外,可以通过创建一个继承所需SQL方法并注入必要配置的新类来编辑现有的Mybatisplus SQL。通过继承GyhBaseMapper,表可以使用更新后的SQL方法。这些修改可以简化和优化数据库操作。

🎯

关键要点

  • Mybatisplus提供强大的CRUD方法,默认生成常用的CRUD方法。
  • 通过继承BaseMapper类,可以使用默认的CRUD能力。
  • 可以通过扩展Mybatisplus实现通用SQL,避免在每个Mapper中重复定义相似SQL。
  • 定义通用SQL的方法包括创建继承AbstractMethod的类并实现injectMappedStatement方法。
  • 可以通过定义SQL注入器GyhSqlInjector来添加自定义SQL方法。
  • 通过创建GyhBaseMapper接口,表可以自动拥有自定义的查询方法。
  • Mybatisplus还提供了更多的CRUD方法,可以通过添加SQL注入器来使用。
  • 可以编辑Mybatisplus已有的SQL以适应特定需求,如分库分表系统。
  • 通过继承已有的SQL类并重写injectMappedStatement方法,可以实现自定义逻辑。
  • 所有参与分表的表在定义Mapper时继承GyhBaseMapper,以减少资源浪费。
➡️

继续阅读