logo 范 · 拾光录
网址收集 关于作者 Github Gitee
杂文随笔4
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置
前端编程3
前端基础知识16
UniApp15
Vue框架19
Java编程7
Java基础知识14
SpringBoot31
SpringMVC14
MyBatis8
SpringCloud15
RocketMQ1
MyCat1
数据库4
MySQL6
Redis7
MongoDB10
H21
Java技术栈4
知识整理分布式锁的实现方案MySQL事务MySQL的锁
软件工具箱14
IDEAGitMavenGradleNginx安装Nginx配置JMeter压测OllamaPicGoRustFSVSCodeDockerObsidianObs录制
Linux知识11
树莓派安装及使用ArchLinux:常用软件ArchLinux:基础系统安装ArchLinux:深度优化ArchLInux:图形化界面安装ArchLinux:Nirifrp内网穿透Jar启动脚本Linux常用命令VirtualBox安装CentOSVirtualBox安装Ubuntu
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv
创意设计2
Blender:入门知识UI设计基础知识
AI相关9
Claude CodeHermes AgentOpenAI基本使用OpenAI工具调用OpenAI记忆管理OpenAI推理执行OpenAI开发框架Langchainllama.cpp

使用方式

MyBatis-Plus-Join文档

<dependency>
    <groupId>com.github.yulichang</groupId>
    <artifactId>mybatis-plus-join-boot-starter</artifactId>
    <version>1.5.7</version>
</dependency>

单字段平铺关联

MPJLambdaWrapper<User> wrapper = new MPJLambdaWrapper<User>()
        .selectAll(User.class)//查询user表全部字段
        .select(Address::getCity, Address::getAddress)
        .leftJoin(Address.class, Address::getUserId, User::getId);

一对一关联

整体数据封装到Vo的单独字段

MPJLambdaWrapper<TbTeam> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAll(TbTeam.class);

// 排序
wrapper.orderByAsc(TbTeam::getId);
// 条件
wrapper.eq(TbTeam::getUserId, params.getUserId());

// 一对一关联:关联表,关联表ID,本表关联ID
wrapper.leftJoin(TbUser.class, TbUser::getId, TbTeam::getTeamUserId);
// 一对一关联:关联表,映射字段
wrapper.selectAssociation(TbUser.class, TbTeamListResp::getTeamUser);

// 查询
List<TbTeamListResp> list = this.selectJoinList(TbTeamListResp.class, wrapper);
使用方式
单字段平铺关联
一对一关联