MyBatis提供了两种方式实现分页查询:
int offset = 0; // 起始行
int limit = 10; // 页大小
RowBounds rowBounds = new RowBounds(offset, limit);
List<User> users = sqlSession.selectList("UserMapper.selectUsers", null, rowBounds);
<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分页查询方式,可以根据实际需求选择适合的方式。