MyBatis-Plus+pagehelper不生效的问题

问题:

查出来的数据始终就是全部的,没有分页。

场景:

刚开始学MyBatis-Plus,使用了自带的分页插件,感觉查多表多条件分页不是很熟练,就想用原来使用的分页插件pagehelper,但是踩了一点小坑

配置的依赖如下:

    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>5.1.11</version>
    </dependency>

config配置如下:

​
@Configuration
public class MPConfig {
    @Bean//MP自带的分页插件需要配的拦截器
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
    @Bean//pagehelper分页插件需要配的拦截器
    public PageInterceptor pageInterceptor() {
        return new PageInterceptor();
    }
}

​

原因分析:

因为MP里面自带jsqlparser解析器,pagehelper里也有一个低版本的,按照传递依赖中路径最短优先原则,默认使用了低版本的解析器。正常来说移除低版本的sql解析器,但是不管用。这点我还没明白。

解决方案:

直接点进传递依赖里面把版本改成一致的就能正常分页。

 

 

补充:

在网上看了一些博客,大部分都说这个是可以使用的,我最开始也试过,并没有生效,不知道是不是也存在传递依赖的原因,但我当时没有进依赖管理查看,之后再试试看了

<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.3</version>
        </dependency>

 

posted @ 2022-08-11 22:21  开水味  阅读(2395)  评论(0)    收藏  举报