采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
这里的setList()是什么意思啊?没太明白
您可以参考:https://coding.imooc.com/learn/questiondetail/10968.html
慕标1082694的回答,分析的比较详细。
setList指的是需要返回给前端的数据列表,因为我们从数据库查询到的列表并不是最后返回到前端的数据,是经过了pojo-》vo的转换,所以需要将新的vo列表返回到前端时就需要用分页的setList()
PageInfo pageInfo = new PageInfo(B) setList(A) 就是把A填充进pageInfo中返回到前端???????? 为什么不把A直接放在new PageInfo(A)?????? 我的思路好乱啊,求大佬解答
pageInfo是要根据 传进去的集合计算分页的大小和页数之类的,传最原始的集合能保证页数是正确的,而setList是用来放置最后需要展示的集合,有可能在b-》a的过程中因为代码的原因而转换失败,导致a的条数缺失
就是把listVO放到 PageInfo 对象中, 这样前端才能调用 展示分页啊。
new PageInfo(resultList) 只是利用resultList这个集合 进行分页处理。。并没有 把这个集合放进PageInfo中。
你debug就可以看出来,如果在新建pageInfo类的时候,构造方法不加通过sql语句查出来的List,那么,你的pageInfo对象就只会有一个list属性有值,其他的都是系统默认的。(即 0,null 一类的)
你好,同学,首先课程中有说。pageHelper分页主要是通过 aop来实现,在执行sql之前会在sql语句中添加limit offset这两个参数。这样就完成了动态的分页。
然而我们需要用vo返回给前端。如果我们用vo里的字段,是和pojo总会有不一致的地方。例如时间的类型,又例如添加的一些枚举状态等。那么为了自动分页,我们会用dao层找到原始的pojoList,(因为pageHelper是对dao层在执行mapper的时候才会动态分页,所以我们要先执行一下mapper)然后转换成vo。那么其实这两个list的集合的分页参数是一致的。所以用了一个比较巧妙的办法。来把vo进行分页~~这样就达到了目的~
希望你能理解哈~~
登录后可查看更多问答,登录/注册
前后端分离,数据库接口设计,架构设计,功能开发,上线运维
9.2k 10
1.6k 22
1.3k 21
2.0k 21
1.8k 18