- 一、mybatis-plus-join
- 二、mybatis-plus-join 实践
- 2.1 数据库表结构:
- 2.2 在 SpringBoot 项目中引入pom依赖:
- 2.3 对于 mapper 将继承 BaseMapper 替换成 MPJBaseMapper:
- 2.4 业务VO类
- 2.5 关联查询
- 2.6 测试类中的运行结果
- 三、使用心得
一、mybatis-plus-join
mybatis-plus 原生的能力不支持多表关联,对于这种场景只能通过写SQL进行实现,而mybatis-plus-join 则是建立在 mybatis-plus 基础之上的扩展框架,可以在不影响原有能力之上通过简单的API即可实现多表关联能力而无需编写SQL。
官方仓库地址:https://gitee.com/best_handsome/mybatis-plus-join
官方文档:https://mybatisplusjoin.com/pages/quickstart/js.html
二、mybatis-plus-join 实践
2.1 数据库表结构:




2.2 在 SpringBoot 项目中引入pom依赖:

2.3 对于 mapper 将继承 BaseMapper 替换成 MPJBaseMapper:

2.4 业务VO类

2.5 关联查询

根据VO类的属性名,使用selectAs设置相同的字段别名进行映射。
2.6 测试类中的运行结果

三、使用心得
在使用 MyBatis-Plus 的 join 功能相比传统的 XML 文件编写多表联查时,有以下一些显著的优势:
- 简洁性和可读性:
使用 MyBatis-Plus 的 join 功能可以更直观、简洁地编写多表联查的查询语句,避免繁琐的手动编写 SQL。
通过方法调用和链式操作,实现了更清晰、易于理解的多表查询代码。 - 类型安全性:
使用 MyBatis-Plus 的 Join 方法能够避免手写 SQL 语句时可能出现的语法错误或拼写错误。
借助 Java 编译器的类型检查机制,可以在编译时捕获一些错误,提高代码质量和稳定性。 - 动态查询支持:
MyBatis-Plus 提供的 Wrapper 条件构造器可以动态构建查询条件,使多表查询更加灵活和方便。
可以根据不同的情况动态添加联合查询条件,减少重复代码,提高代码复用性。 - 性能优化:
MyBatis-Plus 的 join 查询会进行一些性能优化,例如自动排除重复字段、自动调整字段顺序等,提高查询效率。
内部优化可以减少不必要的数据库访问,提升系统性能。 - 易维护性:
使用 MyBatis-Plus 的 join 功能可以减少繁琐的 XML 配置文件编写,提高代码的可读性和可维护性。
避免了手动维护复杂的 SQL 语句,简化了开发人员的工作量,减少了出错的可能性。