关于PageInfo的total数值的问题
我有6条数据,按照老师的写法total的数量为2。
后来查网站,看源码发现了问题。
(63条消息) 解决 PageInfo 返回的 total 不正确,和 list 的 size 一样__成君的博客-CSDN博客_pageinfo返回记录数不正确
代码:
@Override
public PageInfo showList(Integer pageNum, Integer pageSize) throws ImoocMallException {
//这样写 total = 6
Integer userId = UserFilter.user.getId();
PageHelper.startPage(pageNum, pageSize);
List<Order> orderList = orderMapper.selectByuserId(userId);
PageInfo<Order> pageInfo = new PageInfo(orderList);
List<OrderVo> orderVoList = orderListToOrderVOList(orderList);
PageInfo<OrderVo> page = new PageInfo(orderVoList);
BeanUtils.copyProperties(pageInfo, page);
return page;
//老师的写法 total = 2
// Integer userId = UserFilter.user.getId();
// PageHelper.startPage(pageNum, pageSize);
// List<Order> orderList = orderMapper.selectByuserId(userId);
// List<OrderVo> orderVoList = orderListToOrderVOList(orderList);
// PageInfo page = new PageInfo(orderVoList);
// page.setList(orderVoList);
// return page;
}20
收起
正在回答 回答被采纳积分+1
2回答
神话_
2022-06-23 11:12:06
老师的写法是正确的,
如:
PageInfo page = new PageInfo(orderVoList);这个你的分页对象传错了,要把数据库查询出来的对象集合传进去,而不是把拷贝后的VO集合传进去,然后再利用VO集合给PageInfo对象的list属性重新赋值。因为PageInfo要对数据库查询出来的集合,进行总条数,页数等信息的封装,你写成拷贝后的VO,只能对该集合进行页面信息封装了,集合里有几条数据,总条数就是多少了,肯定就不是数据库查询出来的总条数了如:
PageInfo page = new PageInfo(orderList);page.setList(orderVoList);
2023版Java工程师
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星