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

news/2024/10/23 7:27:25/

我在利用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

(尊重笔者的劳动哦,转载请注明出处哦。)

 


http://www.ppmy.cn/news/656208.html

相关文章

PageHelper.startPage()使用问题:,以及利用PageInfo和Page手动分页

建议使用方法为&#xff1a;Mapper接口方式的调用&#xff0c;但是必须紧跟.startPage()方法; 因为项目中是查询多次分页的结果后&#xff0c;需要对list进行分页&#xff0c;此种情况&#xff0c;结合PageInfo和Page进行手动分页&#xff0c;通过以下方法实现 public ServerR…

将4G以上文件从iphone传到电脑中的方法

由于iphone闪存是fat32格式的&#xff0c;它支持的最大单个文件是4个G&#xff0c;所以4G以上的文件读取较为困难。我试过很多方法&#xff0c;其中 失败的方法&#xff1a; 1、直接用数据线连接到windows电脑中&#xff0c;无法读取 2、iCloud中无法查看 3、QQ文件传输失败…

PageHelper.startPage的作用

关于PageHelper.startPage的作用 PageHelper.startPage相当于开启分页,通过拦截MySQL的方式,把你的查询语句拦截下来加limit. public PageInfo<BcRegion> findPage(PageQuery pageQuery) {PageHelper.startPage(pageQuery.getPage(),pageQuery.getRows());List<BcRe…

MP分页中IPage和Page区别

Page的参数 可以看到&#xff0c;参数里面大概就是current,size,total等属性&#xff0c;都是分页的基本属性 。 page和Page的区别例子 在IPage里面 可以使用很多自己定义的属性&#xff0c;其对象调用getRecords&#xff08;&#xff09;得到分页数据

PageHelper.startPage与PageHelper.offsetPage区别

近日在写java接口的时候&#xff0c;当写到分页的时候错把 PageHelper.startPage(startPage, pageSize);写成了PageHelper.offsetPage&#xff08;startPage&#xff0c;pageSize&#xff09; 导致了一个bug的出现数据重复于是开始寻找bug原因&#xff0c;发现了这两种写法是有…

Ipage分页和PageHelper分页

分页插件 两个都用于分页,常用的应该是PageHelper了&#xff0c; 使用方法是 PageHelper.startPage()然后后边写sql就可以。 紧接着的一个sql起作用。 IPage则需要在dao层传入IPage的实现类Page对象&#xff0c;该对象实现了IPage。 区别&#xff1a; PageHelper内部原理是将…

Ubuntu把电脑上的文件传到另一台电脑上

1.在终端上输入: ifconfig 查看ip (~$sudo apt-get install openssh-server如果不过拷贝不成功,就在这里加这句话) 2.把shaolin电脑上的文件考到feiniu电脑上: ~$ scp /home/shaolin/AndroidStudioProjects/MyApplication.zip feiniu192.168.1.108:/home/feiniu/luchangyin …

使用PageHelper.startPage放置位置

使用PageHelper.startPage放置位置 PageHelper.startPage(pageNum, pageSize); 相当于开启分页,通过拦截MySQL的方式,把查询语句拦截下来添加limit,所以一定要放在查询语句的前面,否则不生效(自己犯的错误记录一下) 记录一次错误&#xff0c;傻眼了还在那算 service写法&#…