分页利用PageHelper.startPage(page, rows)时所放位置的注意事项

原文URL:https://blog.csdn.net/weixin_41267342/article/details/79151098

我在利用PageHelper.startPage(page, rows)做分页时,得到的total始终为0,满足不了工作要求.网上没搜到解决方案,自己调试了好久,才发现,顺序写错了。下面分享一下我工作中在用PageHelper时,遇到的问题,以及解决方案:

原来代码如下:

public TaoResult queryContentByPage(Integer page, Integer rows, Long categoryId) {

  //根据前台传过来的商品父 id: categoryId查询商品情况,查询出来的是多条商品数据list 
Content content = new Content();
content.setCategoryId(categoryId);
List<Content> list = super.queryListByWhere(content);

//设置分页数据
PageHelper.startPage(page, rows);
//获取pageInfo
PageInfo<Content> pageInfo = new PageInfo<>(list);
//获得总条数
long total = pageInfo.getTotal();
TaoResult<Content> taoResult = new TaoResult<Content>();
taoResult.setTotal(total);
taoResult.setRows(list);
return taoResult;
}

这样写,分页数据total始终为0,在debug调试过程中,可以看到最终结果为0,前台页面效果如下(右下角红框内):

把PageHelper.startPage(page, rows)提到最前面,修改后代码:

 

public TaoResult queryContentByPage(Integer page, Integer rows, Long categoryId) {

  //设置分页数据
PageHelper.startPage(page, rows);

  //根据前台传过来的商品父 id: categoryId查询商品情况,查询出来的是多条商品数据list 
Content content = new Content();
content.setCategoryId(categoryId);
List<Content> list = super.queryListByWhere(content);


//获取pageInfo
PageInfo<Content> pageInfo = new PageInfo<>(list);
//获得总条数
long total = pageInfo.getTotal();
TaoResult<Content> taoResult = new TaoResult<Content>();
taoResult.setTotal(total);
taoResult.setRows(list);
return taoResult;
}

修改后前台数据效果(右下角红框内):

总结:在使用PageHelper分页时,一定要把PageHelper.startPage(page, rows)放在最前面,否则会造成总条数显示为:0

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值