1 ,service 层代码实现
Integer start = (pageNum - 1) * pageSize;
Integer end = pageSize;
List<entity> entityList;
//调用mapper查询数据库
entityList = entityPOMapper.query(start, end);
SimplePageInfo simplePageInfo = SimplePageInfo.of(entityList );
simplePageInfo.setNumber(pageNum);
simplePageInfo.setPageSize(pageSize);
// 查询出来数据等于size,总数据量加一,页数加一
if (entityList .size() == pageSize) {
Integer totalElements = (pageNum * pageSize) + 1;
Integer pages = pageNum + 1;
simplePageInfo.setTotalElements(totalElements);
simplePageInfo.setPages(pages);
} else {
//数据不够size
Integer totalElements = ((pageNum - 1) * pageSize + entityList .size());
Integer pages = pageNum;
simplePageInfo.setTotalElements(totalElements);
simplePageInfo.setPages(pages);
}
return simplePageInfo;
}
2,mapper
<select .............>
select..
from ...
where ...
LIMIT #{start}, #{end}
</select>
对于大表查询避免使用pageHelper,此插件 会进行count导致效率极低。可采用以上假分页。但是这种方式无法统计总数量以及页数,所以在不要求统计数量的场景下完全可以使用。
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦