MyBatis分页查询怎么实现

avatar
作者
猴君
阅读量:1

MyBatis提供了两种方式实现分页查询:

  1. RowBounds方式:通过传入RowBounds对象来指定查询的起始行和页大小。例如:
int offset = 0; // 起始行 int limit = 10; // 页大小 RowBounds rowBounds = new RowBounds(offset, limit);  List<User> users = sqlSession.selectList("UserMapper.selectUsers", null, rowBounds); 
  1. 使用插件PageHelper:PageHelper是一个开源的MyBatis分页插件,可以简化分页查询的实现。首先在项目中引入PageHelper的依赖:
<dependency>     <groupId>com.github.pagehelper</groupId>     <artifactId>pagehelper-spring-boot-starter</artifactId>     <version>1.3.0</version> </dependency> 

然后在查询方法前调用PageHelper.startPage()方法来设置分页参数,再通过PageInfo对象获取查询结果和分页信息。例如:

import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo;  int pageNum = 1; // 当前页码 int pageSize = 10; // 页大小  PageHelper.startPage(pageNum, pageSize); List<User> users = sqlSession.selectList("UserMapper.selectUsers", null);  PageInfo<User> pageInfo = new PageInfo<>(users); long total = pageInfo.getTotal(); // 总记录数 int pages = pageInfo.getPages(); // 总页数 

以上是两种常用的MyBatis分页查询方式,可以根据实际需求选择适合的方式。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!