pageHelper分页超过最大页数后还会返回数据

问题描述:

在微服务里面做查询接口,用到pageHelper,数据库只有8行数据, 问题来了:

pageNum=1&pageSize=10,返回的数据是那8条数据;

pageNum=2&pageSize=10, pageNum=3&pageSize=10等......仍然会返回数据!!!

原因:

这是pageHelper里面自带的一个功能,叫做reasonable分页参数合理化,3.3.0以上版本可用,默认是false。启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页; 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据。

解决:

一般项目里面加入<property name="reasonable" value="true" />

Spring Boot项目里面:pagehelper.reasonable=true  当为false的时候,如果当前页超过最大页数后,就不会返回数据,当为true的时候,当前页超过最大页数后,会返回最后一页的数据

# PageHelper分页插件
pagehelper:
  helperDialect: mysql
  reasonable: false
  supportMethodsArguments: true
  params: count=countSql

总结:具体是true还是false,就可以根据自己的业务场景去设置,超出最大页,需要返回数据就设为true,不需要返回数据就设为false。

猜你喜欢

转载自blog.csdn.net/Tom_sensen/article/details/115327434