关于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);
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星