guns中mybatisplus解决分页每页最大500条记录的限制
打算分页每页取2000条记录,结果只返回了500条。
第一步按网上说的增加一个分页拦截器
@Configuration
public class MybatisPlusPageLimitConfig {
@Bean
public void paginationInterceptorPageLimit() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置最大单页限制数量,默认 500 条,-1 不受限制
paginationInterceptor.setLimit(-1);
return paginationInterceptor;
}
}
结果不行。它会有sql语句里加上两个limit。导致语句错误。原因在于框架里已经有了一个PaginationInterceptor,你又再new一个。每个分页sql语句就会拼接两个limit了,就出错了。
解决办法:
get出框架原有的PaginationInterceptor,给它设置limit就行了。
@Configuration
public class MybatisPlusPageLimitConfig {
@Autowired
ApplicationContext applicationContext;
@Bean
public void paginationInterceptorPageLimit() {
PaginationInterceptor bean = applicationContext.getBean(PaginationInterceptor.class);
bean.setLimit(-1);
}
}