请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

4回答

慕标1082694 2019-01-09 22:43:09

您可以参考:https://coding.imooc.com/learn/questiondetail/10968.html

慕标1082694的回答,分析的比较详细。


1 回复 有任何疑惑可以回复我~
polo哦 2018-03-13 08:27:34

setList指的是需要返回给前端的数据列表,因为我们从数据库查询到的列表并不是最后返回到前端的数据,是经过了pojo-》vo的转换,所以需要将新的vo列表返回到前端时就需要用分页的setList()

1 回复 有任何疑惑可以回复我~
  • 提问者 慕容7568949 #1
    PageInfo pageInfo = new PageInfo(B)     
    setList(A)    就是把A填充进pageInfo中返回到前端????????
    为什么不把A直接放在new PageInfo(A)??????
    我的思路好乱啊,求大佬解答
    回复 有任何疑惑可以回复我~ 2018-03-14 15:43:20
  • polo哦 回复 提问者 慕容7568949 #2
    pageInfo是要根据 传进去的集合计算分页的大小和页数之类的,传最原始的集合能保证页数是正确的,而setList是用来放置最后需要展示的集合,有可能在b-》a的过程中因为代码的原因而转换失败,导致a的条数缺失
    回复 有任何疑惑可以回复我~ 2018-03-14 15:47:47
Queen丶Star 2018-08-08 15:34:57

就是把listVO放到 PageInfo 对象中, 这样前端才能调用 展示分页啊。

new PageInfo(resultList)  只是利用resultList这个集合 进行分页处理。。并没有 把这个集合放进PageInfo中。

你debug就可以看出来,如果在新建pageInfo类的时候,构造方法不加通过sql语句查出来的List,那么,你的pageInfo对象就只会有一个list属性有值,其他的都是系统默认的。(即 0,null 一类的)


0 回复 有任何疑惑可以回复我~
Geely 2018-03-17 17:42:52

你好,同学,首先课程中有说。pageHelper分页主要是通过 aop来实现,在执行sql之前会在sql语句中添加limit offset这两个参数。这样就完成了动态的分页。


然而我们需要用vo返回给前端。如果我们用vo里的字段,是和pojo总会有不一致的地方。例如时间的类型,又例如添加的一些枚举状态等。那么为了自动分页,我们会用dao层找到原始的pojoList,(因为pageHelper是对dao层在执行mapper的时候才会动态分页,所以我们要先执行一下mapper)然后转换成vo。那么其实这两个list的集合的分页参数是一致的。所以用了一个比较巧妙的办法。来把vo进行分页~~这样就达到了目的~


希望你能理解哈~~


0 回复 有任何疑惑可以回复我~

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信