个人技术博客——mybatis-plus-join

222100223林烨坤 2024-06-01 20:51:37

目录

  • 一、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 数据库表结构:

image.png


image.png


image.png


image.png

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

image.png

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

image.png

2.4 业务VO类

image.png

2.5 关联查询

image.png


根据VO类的属性名,使用selectAs设置相同的字段别名进行映射。

2.6 测试类中的运行结果

image.png

三、使用心得

在使用 MyBatis-Plus 的 join 功能相比传统的 XML 文件编写多表联查时,有以下一些显著的优势:

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

315

社区成员

发帖
与我相关
我的任务
社区描述
福州大学的软件工程实践-2023学年-W班
软件工程需求分析结对编程 高校 福建省·福州市
社区管理员
  • FZU_SE_teacherW
  • Pity·Monster
  • 助教张富源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧