Mybatis分页插件的PageHelper和PageInfo

_星星之火_ 2017-08-21 08:45:00
//开始分页
PageHelper.startPage(pageNum,pageSize);
//动态排序
if(StringUtils.isNotBlank(orderBy)){
if(Const.productOrder.productOrder.contains(orderBy)){
String[] orderByArray = orderBy.split("_");
//orderBy方法的格式为orderBy("price asc")
PageHelper.orderBy(orderByArray[0] + " " + orderByArray[1]);
}
}
//获得商品的列表
List<Product> productList = productMapper.selectByProductNameAndCategoryIds(StringUtils.isNotBlank(productName)? productName : null ,categoryIdList.size() == 0 ? null:categoryIdList);
List<ProductListVo> productListVos = Lists.newArrayList();
for(Product product:productList){
ProductListVo productListVo = assembleProductListVo(product);
productListVos.add(productListVo);
}
PageInfo pageInfo = new PageInfo(productList);
pageInfo.setList(productListVos);

return ServerResponse.createBySuccess(pageInfo);
这里有PageInfo pageInfo = new PageInfo(ProductList)了 ,后面又重新set了一遍
为何不直接PageInfo pageInfo = new PageInfo(productListVos)呢,谢谢
...全文
970 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
骆孝宇 2017-08-31
  • 打赏
  • 举报
回复
你应该也是看了慕课网的实战项目视频。我开始也有同样的疑惑。 这里应该是老师写错了。因为我看过PageInfo的源码。 private List<T> list; //私有字段list,需要我们传的参数。 PageInfo pageInfo = new PageInfo(productList);对应的源码如下: public PageInfo(List<T> list) { this(list, 8); } 里面又是一个重载构造函数 public PageInfo(List<T> list, int navigatePages) 这里面 Page page = (Page)list; this.list = page; 这两句话可以看出传进来的list赋给了PageInfo自身的list。 再来看pageInfo.setList(productListVos);对应的源码 public void setList(List<T> list) { this.list = list; } 同样是传进来的list赋给了PageInfo自身的list。 证明我们俩的想法一致,这就是多余的操作。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧