Mybatis-plus分页查询(SpringBoot)
2024-01-30
OS:Windows10 22H2
IDE:IDEA 2022.2.5
JDK version:19
Maven version:3.6.3
数据库:MySQL 8.1.0
mybatis-plus:3.5.3.1
一、在springBoot启动类中将分页插件加入到ioc容器里面
@SpringBootApplication @MapperScan("com.ssm.mapper") public class Main { public static void main(String[] args) { SpringApplication.run(Main.class, args); } /** * 将mybatis-plus插件加入到ioc容器里面 */ @Bean public MybatisPlusInterceptor plusInterceptor() { // mybatis-plus的插件集合【使用的集合加入到这个集合里面,分页插件,乐观锁】 MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor(); // 分页插件 mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return mybatisPlusInterceptor; } }
在new PaginationInnerInterceptor()的括号里面输入数据库的类型,这里是枚举类型。例如MySql数据库,DbType.MYSQL
二、进行分页查询
需要导入的测试依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>3.0.5</version> </dependency>
@SpringBootTest public class SpringBootMybatisPlusTest { @Autowired private UserMapper userMapper; @Test public void testPage() { // IPage(接口) -> Page(实现类) 页码 页容量 Page<User> page = new Page<>(1, 3); userMapper.selectPage(page, null); // 查询得到的结果也会被封装到page对象中 // 页码 long current = page.getCurrent(); System.out.println("current = " + current); // 页容量 long size = page.getSize(); System.out.println("size = " + size); // 当前页的数据 List<User> records = page.getRecords(); System.out.println("records = " + records); // 表中数据的行数 long total = page.getTotal(); System.out.println("total = " + total); } }
测试结果截图(第1页,有3条记录)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?