Mybatis Plus 分页以及连表查询
Mybatis Plus 分页以及连表查询
1、Mybatis Plus分页配置类
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
2、编写测试类
// 第一个参数:当前页数,第二个参数:每页显示多少条
Page<User> userPage = new Page<>(1,2);
Page<User> page = new LambdaQueryChainWrapper<User>(userService.getBaseMapper())
.select(User::getId,User::getUsername)
.lt(User::getId,10) // 条件id小于10的
.page(userPage);
// 总条数
System.out.println("Total = " + page.getTotal());
// 当前页
System.out.println("Current = " + page.getCurrent());
// 每页数量
System.out.println("Size = " + page.getSize());
// 查询到的数据列表
System.out.println("Records = " + page.getRecords());
3、连表查询
- Mybatis Plus自身是没有连表查询的功能的,需要导入新的依赖
<dependency>
<groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join</artifactId>
<version>1.2.2</version>
</dependency>
其中
- mapper 要继承MPJBaseMapper 实现对应的方法 (必选)
- service 可以继承MPJBaseService 实现对应的方法 (可选)
- serviceImpl 可以继承MPJBaseServiceImpl实现对应的方法 (可选)
4、编写测试类
List<User1> list = userMapper.selectJoinList(User1.class,
new MPJLambdaWrapper<User1>()
.select(User1::getName)
.select(User2::getName)
.selectAll(User3.class)
.selectAs(User1::getNickName, UserDTO::getUserNickName)
.leftJoin(User2.class, User2::getId, User1::getId)
.leftJoin(User3.class, User3::getId, User1::getId)
本文作者:-西门-
本文链接:https://www.cnblogs.com/ximensama/p/15957549.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署