传入参数问题

传入参数问题

//将orders查询到的订单转为了要返回前端的orderVo对象
List<OrderVo> orderVoList=orderListToOrderVoList(orders);
//调用pageInfo封装数据
PageInfo pageInfo=new PageInfo<>(orders);
//设置要返回处理后的结果
pageInfo.setList(orderVoList);
return pageInfo;

为什么不可以直接把 orderVoList 传入到pageInfo中呢?

正在回答 回答被采纳积分+1

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

2回答
今天也要学习呢 2021-08-07 19:44:29

老师您看我理解的流程对么?如果是的话我有两个疑问麻烦您解答一下:
我理解的流程:
1. 

PageHelper.startPage(pageNum, pageSize);

通过startPage,设置PageInfo的成员属性pageNum和pageSize的值。

2.

PageInfo pageInfo=new PageInfo<>(orderList);

构造器内部会调用OrderMapper中的对应方法,返回List<Order>列表。
3.

pageInfo.setList(orderVoList);

修改结果集,将原本的List<Order>修改为List<OrderVO>。


我的疑问:

1.
关于上述第二步,「调用OrderMapper中的对应方法,返回List<Order>列表」如果我想传入OrderVO列表,即「PageInfo pageInfo = new PageInfo<>(orderVOList)」是不是添加对应的Mapper方法「OrderVOMapper方法」就可以了。
2.
OrderVO相对于Order,属性有增也有减,那pageInfo的setList是怎么讲Order列表转换为OrderVO列表呢?

  • 同学你好,非常抱歉没有及时回复同学的问题,关于同学的疑问,1、通过mapper查询会返回Page类型的内容,在代码中通过会根据这个Page来得到一些对应的数据内容,如果不按照这个,可能出现属性等不一致的情况,这是代码中约定成俗的使用。

        ​2、在pageInfo的setList方法,直接将传入的OrderVO覆盖原有的Order,就实现了重新赋值。

    http://img1.sycdn.imooc.com//climg/61148812095c21c704580071.jpg


    http://img1.sycdn.imooc.com//climg/6114881c0992129e04870097.jpg

    祝学习愉快~

    2021-08-12 10:32:11
好帮手慕小班 2021-06-16 11:35:18

同学你好,同学可以参考如下思路来理解:

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

http://img1.sycdn.imooc.com//climg/60c96f09091c35e505650548.jpg

    2、如上操作后返回的是List<Order>,也就是通过mapper直接查询出来的数据,但是我们要返回的到前端的是OrderVO集合,修改后的展示数据,所以需要pageInfo.setList(orderVoList);设置结果集,这会修改pageInfo中的list值。

祝学习愉快~

  • 提问者 rock221 #1

    直接设置orderVoList,不修改不可以吗? 通过这个直接分页处理

    2021-06-16 12:05:42
  • 好帮手慕小班 回复 提问者 rock221 #2

    同学你好,不可以,因为PageInfo中存储的是分页的信息,PageInfo会根据传入的list设置pageNum,pageSize等值,所以PageInfo需要传入通过mapper直接查询出来的数据,不能是经过修改的OrderVO。

    祝学习愉快~

    2021-06-16 13:56:28
  • 提问者 rock221 回复 好帮手慕小班 #3

    牢记,传入的都是初始查询的数据,就行了。 如果有修改,则set更新结果集。 就行了。  对吧。  关于后面的服务器,学习阶段需要买吗。 

    2021-06-16 16:30:28
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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