使用方法:
@Override
public PageInfo<Person> getByPage(int currentPage, int pageSize, Map<String,Object> map) {
PageHelper.startPage(currentPage,pageSize,true);
List<Person> list = personMapper.getListByParamMap(map);
PageInfo<Person> pageInfo = new PageInfo<>(list);
return pageInfo;
}
参数说明:
其中
PageHelper.startPage(currentPage,pageSize,true);第一个参数表示从第几页开始,第二个参数表示一页多少条记录,第三个参数表示是否返回总的真实记录数
注意:
PageHelper.startPage(currentPage,pageSize,true);要紧接着查询,否则可能不分页
返回如下:
{
"endRow": 2,
"hasNextPage": false,
"hasPreviousPage": false,
"isFirstPage": true,
"isLastPage": true,
"list": [{
"createdBy": "SYSTEM",
"createdDate": 1575545371000,
"password": "123",
"updatedBy": "SYSTEM",
"updatedDate": 1575545371000,
"userId": 1,
"userName": "wcc"
}, {
"createdBy": "SYSTEM",
"createdDate": 1575545631000,
"password": "123",
"updatedBy": "SYSTEM",
"updatedDate": 1575545631000,
"userId": 2,
"userName": "魏灿灿"
}],
"navigateFirstPage": 1,
"navigateLastPage": 1,
"navigatePages": 8,
"navigatepageNums": [1],
"nextPage": 0,
"pageNum": 1,
"pageSize": 1000,
"pages": 1,
"prePage": 0,
"size": 2,
"startRow": 1,
"total": 2
}
另附上PageInfo参数说明:
//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//由于startRow和endRow不常用,这里说个具体的用法
//可以在页面中"显示startRow到endRow 共size条数据"
//当前页面第一个元素在数据库中的行号
private int startRow;
//当前页面最后一个元素在数据库中的行号
private int endRow;
//总记录数
private long total;
//总页数
private int pages;
//结果集
private List<T> list;
//前一页
private int prePage;
//下一页
private int nextPage;
//是否为第一页
private boolean isFirstPage = false;
//是否为最后一页
private boolean isLastPage = false;
//是否有前一页
private boolean hasPreviousPage = false;
//是否有下一页
private boolean hasNextPage = false;
//导航页码数
private int navigatePages;
//所有导航页号
private int[] navigatepageNums;
//导航条上的第一页
private int navigateFirstPage;
//导航条上的最后一页
private int navigateLastPage;