主要还是 MyBatisPlus 配置原因:
@Configuration
@MapperScan("com.a.b.mapper.*.mapper*")
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
paginationInnerInterceptor.setDbType(DbType.MYSQL);
paginationInnerInterceptor.setOverflow(true);
interceptor.addInnerInterceptor(paginationInnerInterceptor);
return interceptor;
}
}
问题解决办法:
paginationInnerInterceptor.setOverflow(true);
没有数据是因为,当前请求数据超过已有的最大数据量。举个例子,目前数据库只有一条数据,但是请求参数是 new Page<>(1, 10)。显然,这是超过了最大数据量,所以会显示为空。这个问题,可以通过上述设置来解决。