问题描述:
在微服务里面做查询接口,用到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。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/111113.html