按照 imooc MP 分页查询 里操作的,使用 selectPage 返回结果并没有分页,获取到的当前页数和总记录数页都是 0。

在视频下问答里找到了相同经历的解决方法:为什么分页之后,Sql没有分页。原来是 MP 版本的问题,视频里演示的 MP 版本是 v3.1.0,而这边使用是当前最新的 v3.5.3.1,分页需要添加插件配置,新版本对于插件配置有了变化:

之前的 v3.1.0 左右的:

@Configuration
public class MybatisPlusConfig {

    @Bean
    public PaginationInnerInterceptor paginationInnerInterceptor() {
        return new PaginationInnerInterceptor();
    }
    
}

现在的版本 v3.5.3.1 左右的:

@Configuration
public class MybatisPlusConfig {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }

}

文档里还有一个配置项:

    // MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
    @Bean
    public ConfigurationCustomizer configurationCustomizer() {
        return configuration -> configuration.setUseDeprecatedExecutor(false);
    }

根据注释以及实际调用确实找不到 useDeprecatedExecutor 属性,这个部分不需要了,直接去除就好。