源码跟踪分析
- 所有的使用自带的Page对象分页的方法全部被限制了500条,所以很容易想到是对Page类中的size属性做了限制。
- 查看Page类中的setSize方法的调用方,找到PaginationInterceptor类
问题解决
修改PaginationInterceptor类中的limit属性。
将以下代码放入application启动类中:
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
paginationInterceptor.setLimit(-1);
// 开启 count 的 join 优化,只针对部分 left join
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}