一、背景描述
技术栈:Spring boot(2.1.5) + MyBatis-Plus(3.3.1)
Springboot项目集成了Mybatis-plus,最近在做一个导出功能,数据库中有几千条数据,单页查询(pageSize < 500时)很正常,需求是把所有数据全部导出,但是每次导出的时候只能导出500条数据,根据经验推断,这里必定是一个坑,估计是源码里加了默认限制。
二、问题原因
查看源码:
MyBatis-Plus低版本的PaginationInterceptor,定义了默认limit为500。当size超出limit时设置size为limit的值,即当size大于500时,就默认使用 size = 500。
三、解决方案
关于这个问题的解决方案有两个:
3.1 配置分页插件时重新设置limit的值
3.2 切换到mybatis-plus高级版本,配置新版分页插件
如Mybatis-plus官网所示:分页插件 | MyBatis-Plus
完结!