问题

pages始终等于1,total 始终等于pageSize

原因

原因是我在查询到list数据之后,对list做了操作,导致分页不正常

// 这是service层的类
public PageInfo<TUiWork> getAllByPagination(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<TUiWork> workList = workMapper.getAll(); // 问题就在这里,我对workList做了操作
List<TUiWork> newWorkList = new ArrayList<>();
for (TUiWork work : workList) {
List<String> imageUrlList = getImageUrlListByIds(work.getImageId());
work.setImageUrls(imageUrlList);
newWorkList.add(work);
} // 把新的list传递给了PageInfo,导致分页不正常
PageInfo<TUiWork> tUiWorkPageInfo = new PageInfo<>(newWorkList);
return tUiWorkPageInfo;
}

解决

第一种:
重新自定义PageInfo类,能解决问题,但是比较繁琐,不探究。

第二种:(推荐)
直接用PageHelper的类来实现,代码如下:

//创建Page类
Page page = new Page(pageNum, pageSize);
//为Page类中的total属性赋值
int total = list.size();
page.setTotal(total);
//计算当前需要显示的数据下标起始值
int startIndex = (pageNum - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize,total);
//从链表中截取需要显示的子链表,并加入到Page
page.addAll(list.subList(startIndex,endIndex));
//以Page创建PageInfo
PageInfo pageInfo = new PageInfo<>(page);
return pageInfo;

最新文章

  1. Git撤销提交和修改相关操作
  2. Uva 11090 在环中
  3. 盘点国内网站常用的一些 CDN 公共库加速服务
  4. php的urlencode()URL编码函数浅析
  5. C#线程系列讲座(5):同步技术之Monitor
  6. Java:IO流与IO设备
  7. 各种matrix
  8. c# 文件/文件夹操作
  9. redis做RDB时请求超时case
  10. 代码配置没有问题,为什么不回滚事务(要理解Mysql数据库引擎)
  11. 如何清除jboss缓存
  12. centos7修改网卡名称
  13. python字典学习笔记
  14. SpringCloud用户自定义配置信息的定义和查看
  15. 【刷题】若串 =’software’ ,其子串数目为:37
  16. poj 1015 Jury Compromise(背包变形dp)
  17. JAVA中的栈和堆【转】
  18. KVO的使用二:常用方法及小技巧
  19. mvc route .html 后缀 404
  20. 常见图片格式PNG,JPEG,BMP,GIF区别总结

热门文章

  1. git修改远程分支
  2. WampServer3.0服务器端开启ssl认证后重启Apache失败,解决办法
  3. jekins+svn
  4. 实验一-密码引擎-加密API实现与测试
  5. springboot外部部署官方文档说明复制版
  6. es实现规格分组分析
  7. 剑指 Offer II 堆
  8. CSP-S T3函数调用
  9. GPIO原理及配制方法
  10. 1.PS基本操作