环境说明
- JDK 17
- SpringBoot 3.0.2
- MySQL 8.0.32
- MybatisPlus 3.5.3
- PageHelper 1.4.6
环境准备
导入相关依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.32</version>
</dependency>
实现分页
编写mapper接口
@Mapper
public interface UserMapper {
@Select("select * from user")
List<User> selectList();
}
开启分页,然后直接 DQL 语句即可:
@Resource
UserMapper userMapper;
@Test
void contextLoads() {
int pageNum = 1;
int pageSize = 3;
// 第一步 开启分页
PageHelper.startPage(pageNum, pageSize);
// 第二步 根据实际业务sql语句查询
List<User> userList = userMapper.selectList();
userList.forEach(System.out::println);
// 第三步 通过PageInfo对象可以获取分页后的信息 常用的如下:
PageInfo<User> pageInfo = new PageInfo<>(userList);
// int pages = pageInfo.getPages(); // 总页数
// long total = pageInfo.getTotal(); // 总数
// int curPageNum = pageInfo.getPageNum(); // 当前页
// int curPageSize = pageInfo.getPageSize(); // 当前页大小
}