Mybatis-Plus明明查询页数最大值,却只有500条?
一、前言
一次我在项目上线时被产品检验出一个问题,起因是Excel导出的每次只有500条,可前端界面展示的有1000多条,这就使我加班到了晚上11点多。。。
二、排查问题
在定位问题时发现,这边一次想查询所有的数据,直接接把分页的size设置成了 Integer.MAX_VALUE,可以看到size是最大值是2147481647。
接着继续往下执行一条查询,发现sql为limit500,而size也变成了500,这就发现了问题了所在了,于是就开始百度群找答案。。。
经过网上百度最终发现问题在于MybatisPlus源码里,大家可以看上面的图,大致意思是若在分页查询时处理超出分页条数限制,默认归为限制数500。
说实话当时小编在发现这个问题是简直苦笑不得,一直以为是自己复制的分页条数给错了。o(╥﹏╥)o
三、解决方法
解决方法就是在设置分页size的时候,设置为-1即可视为查询全部,或者修改上上上图全局的配置变量setMaxLimit(500L)那里,修改为-1。
五、小结
通过使用这个操作真是不断的提高了,项目使用技巧也是不错。加油~~ Mybatis-Plus哦~~
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
小航学Java
专注Java相关技术:SSM、Spring全家桶、微服务、MySQL、MyCat、集群、分布式、中间件、Linux、网络、多线程,偶尔讲点运维Jenkins、Nexus、Docker、ELK,偶尔分享些技术干货,致力于Java全栈开发!