mybatis-plus中使用pagehelper避坑

2023-05-16

1、你的传参对象的分页字段是pageNum和pageSize

今天测试一个接口,没有传递分页字段,但是后台还是进行了分页查询。这个是因为虽然没有传递分页查询,但是后台的参数对象中有pageNum和pageSize这两个字段。

只要你的传参对象的分页字段是pageNum和pageSize,你不需要调用PageHelper.startPage()方法,pagehelper就会帮你实现分页,因为pageNum和pageSize是PageHelper.startPage()方法的参数。

public static <E> Page<E> startPage(int pageNum, int pageSize) {
	return startPage(pageNum, pageSize, true);
}

所以,为了避免这种情况的出现,请不要给你的分页字段起这两个名字。pageNumber和pageCount就很不错。

2、上一个PageHelper.startPage()未被消费

简单来讲,你上面的代码调用了PageHelper.startPage()方法,但是后面没有一个Mapper的查询方法来消费掉。所以你的这个查询就用到了上一个的分页。

注意,PageHelper.startPage()方法调用以后,后面必须有一个Mapper的查询方法,必须被消费掉。否则会由于ThreadLocal的原因,当线程被其他方法调用时被分页。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mybatis-plus中使用pagehelper避坑 的相关文章

随机推荐