南飓风 发表于 2024-11-9 21:54:43

MyBatis-Plus与PageHelper依赖的jsqlparser库冲突

问题

最近遇到的一个项目升级了SpringBoot到3.x版本了,同时也预备升级MyBatis-Plus,即使用如下依赖:
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.7</version>
</dependency>
没想道,升级完MyBatis-Plus之后。PageHelper就不能用了。PageHelper现在也是用的最新的,具体配置如下:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
缘故起因

MyBatis-Plus和PageHelper都同时使用到一个jsqlparser的依赖库,然后,PageHelper要求使用的版本与jsqlparser版本有一个对应关系。具体对应关系,具体如下:
https://i-blog.csdnimg.cn/direct/eecb48540a8049a6944cd2f4386022df.png
6.1版本PageHelper使用的jsqlparser库版本是4.7,具体如下:
https://i-blog.csdnimg.cn/direct/d3bf1c374dc14e41ac6b9f0dc0eacc0e.png
以是,只要保持项目中jsqlparser库是4.7版本就可以了。
办理

具体做法,就是将MyBatis-Plus与PageHelper中的jsqlparser库清除后,再指定使用jsqlparser4.7就可以了。具体配置如下:
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.7</version>
    <exclusions>
      <exclusion>
            <groupId>com.github.jsqlparser</groupId>
            <artifactId>jsqlparser</artifactId>
      </exclusion>
    </exclusions>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>2.1.0</version>
<exclusions>
      <exclusion>
          <groupId>com.github.jsqlparser</groupId>
          <artifactId>jsqlparser</artifactId>
      </exclusion>
</exclusions>
</dependency>

<dependency>
    <groupId>com.github.jsqlparser</groupId>
    <artifactId>jsqlparser</artifactId>
    <version>4.7</version>
</dependency>

总结

MyBatis-Plus与PageHelper最好别一起用。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: MyBatis-Plus与PageHelper依赖的jsqlparser库冲突