关于pageHelper的疑问
来源:8-4 后台商品列表动态分页功能开发
2016阿文
2017-11-18
PageHelper.startPage(pageNum, pageSize);
List<Product> productList = productMapper.selectLilst();
List<ProductListVo> productListVoList = Lists.newArrayList();
for (Product productItem : productList) {
ProductListVo productListVo = assembleProductListVo(productItem);
productListVoList.add(productListVo);
}
PageInfo pageResult = new PageInfo(productList);
pageResult.setList(productListVoList);
return ServerResponse.createBySuccess(pageResult);
这里的PageInfo pageResult = new PageInfo(productList);构造方法为什么传productList,而不直接传productListVoList,pageResult.setList(productListVoList); 不是把传入的productList覆盖了吗?
我不太明白
1回答
-
Geely
2017-11-18
你好同学,是一个很好的问题哟~首先从以下角度给你总结以下,
pojo转vo是为了封装,例如时间做成字符串,或者枚举转换成汉字,或者增加其他属性。ok这个
pageHelper底层是通过aop,动态在sql上添加limit offset来完成分页
为了让pageHelper aop完成并且拿到分页信息,先执行sql了。但是里面的list是pojo的并不是vo的。但是pojo list和 vo list的分页信息是一致的。
所以我们重用pageHelper的分页信息,然后实际对象换成volist。
我给大家整理了这个,有问题可以来看看先找一下。 肯定有你想要的哈
部署环境的话 ,建议看下文章最后一小段哟~
尽快进入咱们QQ群哟~~
课程项目思维导图及线上环境、测试环境、部署linux和windows等解答
http://www.imooc.com/article/20193
【重点】问答区常见问题整理
http://www.imooc.com/article/18998
课程项目QQ群分享手记
http://www.imooc.com/article/19094
找工作的季节之简历及找工作的分享
http://www.imooc.com/article/19998
项目环境、vsftpd、linux、mysql等各种配置、软件下载
http://learning.happymmall.com
20
相似问题