mybatisplus实现手动分页
时间: 2023-09-20 14:07:25 浏览: 118
Mybatis-plus提供了两种分页方式:自动分页和手动分页。
自动分页是通过在Mapper接口中定义方法时,使用Page对象作为参数,然后在查询语句中使用Mybatis-plus提供的分页插件来实现自动分页。
而手动分页则需要我们手动计算出分页参数,并在查询语句中使用LIMIT和OFFSET来实现分页。
下面是手动分页的实现步骤:
1.计算出分页参数,包括每页显示的记录数和当前页数。
2.使用LIMIT和OFFSET来实现分页查询。
3.将查询结果封装成Page对象,其中包括总记录数和当前页的数据。
具体代码如下:
```
//计算分页参数
int pageSize = 10; //每页显示记录数
int currentPage = 1; //当前页数
int offset = (currentPage - 1) * pageSize; //计算偏移量
//查询数据
List<User> userList = userMapper.selectList(new QueryWrapper<User>().last("LIMIT " + pageSize + " OFFSET " + offset));
//查询总记录数
int totalCount = userMapper.selectCount(null);
//封装分页结果
Page<User> page = new Page<>();
page.setCurrent(currentPage);
page.setSize(pageSize);
page.setRecords(userList);
page.setTotal(totalCount);
```
以上代码中,我们使用了QueryWrapper来构造查询条件,然后使用last方法来拼接查询语句中的LIMIT和OFFSET子句。最后,我们将查询结果封装成Page对象返回。
阅读全文