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条记录)

posted @   LANE_AZUR  阅读(373)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示