java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > MyBatis-Plus jsqlparser冲突

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

作者:亚林瓜子

在升级SpringBoot到3.x版本的同时,升级MyBatis-Plus后发现PageHelper无法使用,原因是MyBatis-Plus和PageHelper都依赖jsqlparser库,且PageHelper要求特定版本的jsqlparser,解决方法是在项目中排除这两个库的jsqlparser依赖,直接引用jsqlparser4.7版本

问题

最近遇到的一个项目升级了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版本有一个对应关系。具体对应关系,具体如下:

6.1PageHelper

6.1版本PageHelper使用的jsqlparser库版本是4.7,具体如下:

4.7jsqlparser

所以,只要保持项目中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最好别一起用。

到此这篇关于MyBatis-Plus与PageHelper依赖的jsqlparser库冲突的文章就介绍到这了,更多相关MyBatis-Plus jsqlparser冲突内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文