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
二、进行分页查询
需要导入的测试依赖
SpringBoot测试依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>3.0.5</version>
</dependency>
SpringBoot测试类
@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条记录)
标签:插件,SpringBoot,page,println,plus,Mybatis,public,分页 From: https://www.cnblogs.com/shiguangrusuo/p/17997805