pageInfo.setList(orderVOList);疑问

pageInfo.setList(orderVOList);疑问

老师您好,请问pageInfo.setList(orderVOList);的作用是什么呀,下面两种我都试了一下,返回的分页信息结果是相同的,是不是有什么区别呀.

@Override
public PageInfo listForCustomer(Integer pageNum, Integer pageSize) {
    Integer userId = UserFilter.currentUser.getId();
    // 获取用户订单
    List<Order> orderList = orderMapper.selectListForCustomer(userId);
    // 将orderList转换为orderVOList
    List<OrderVO> orderVOList = orderListToOrderVOList(orderList);
    // 进行分页查询
    PageHelper.startPage(pageNum, pageSize);
    PageInfo pageInfo = new PageInfo<>(orderList);
    pageInfo.setList(orderVOList);
    return pageInfo;
}


@Override
public PageInfo listForCustomer(Integer pageNum, Integer pageSize) {
    Integer userId = UserFilter.currentUser.getId();
    // 获取用户订单
    List<Order> orderList = orderMapper.selectListForCustomer(userId);
    // 将orderList转换为orderVOList
    List<OrderVO> orderVOList = orderListToOrderVOList(orderList);
    // 进行分页查询
    PageHelper.startPage(pageNum, pageSize);
    PageInfo pageInfo = new PageInfo<>(orderVOList);
    return pageInfo;
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好

1)在创建pageInfo对象时,应该传入通过mapper查询出来的数据,也就是orderList。

PageInfo中存储的是分页的信息,PageInfo会根据传入的list设置pageNum,pageSize等值,所以PageInfo应该传入通过mapper直接查询出来的数据,也就是orders,而不能是经过修改的OrderVO。

https://img1.sycdn.imooc.com//climg/628eeed409382e3608700840.jpg

2)返回到前端时返回的是经过处理的orderVoList修改后的展示数据,所以需要通过pageInfo.setList(orderVoList);传入设置结果集。

综上不能直接书写PageInfo pageInfo = new PageInfo(orderVOList)。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师