当前位置:
首页
文章
后端
详情

Mybatis-plus和pagehelper依赖产生冲突问题的具体解决方案

在使用 Mybatis-plus 工具,同时又引入了 pagehelper 的依赖,结果导致了冲突问题。那么该如何解决这个问题?下面,将通过实例来为大家展示 Mybatis-plus 和 pagehelper 依赖冲突的解决方法。

简介

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作

Mybati-plus本身自带分页功能,但是我个人一直是使用pagehelper进行分页,所以在pom中添加了pagehelper依赖,但是运行项目后发现jar包冲突,面对冲突我们应该怎么解决它呢,看完如下内容便可轻松解决

先看依赖

        <!-- mbatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.2</version>
        </dependency>
 
        <!--generator-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.1.2</version>
 
        </dependency>
 
     
        <!-- pagehelper-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.5</version>
         </dependency>

运行项目

***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
com.baomidou.mybatisplus.core.MybatisMapperAnnotationBuilder.getLanguageDriver(MybatisMapperAnnotationBuilder.java:369)
The following method did not exist:
com.baomidou.mybatisplus.core.MybatisConfiguration.getLanguageDriver(Ljava/lang/Class;)Lorg/apache/ibatis/scripting/LanguageDriver;
The method's class, com.baomidou.mybatisplus.core.MybatisConfiguration, is available from the following locations:
jar:file:/Applications/MrWang/Maven/privite_wang_repository/com/baomidou/mybatis-plus-core/3.1.2/mybatis-plus-core-3.1.2.jar!/com/baomidou/mybatisplus/core/MybatisConfiguration.class
It was loaded from the following location:
file:/Applications/MrWang/Maven/privite_wang_repository/com/baomidou/mybatis-plus-core/3.1.2/mybatis-plus-core-3.1.2.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of com.baomidou.mybatisplus.core.MybatisConfiguration
Disconnected from the target VM, address: '127.0.0.1:55790', transport: 'socket'
Process finished with exit code 0

纠正应用程序的类路径,使其包含com.baomidou.mybatisplus.core.MybatisConfiguration的单一兼容版本

2021041409374017

标红的部分是灰色的,看后面括号中的意思 (为冲突而生 ),这个包跟上面的包是一样的,上面是亮的,下面是灰色的,说明系统用了上面的jar包,导致下面jar包提示冲突,但为什么不用下面的,自己私下花点时间 研究一下,当然我们的目的不是解决这个冲突,因为这个被系统检测出来了,系统自动停用了一个,我们要解决系统检测不出来的冲突

引入 MyBatis-Plus 之后请不要再次引入 MyBatis 以及 MyBatis-Spring,以避免因版本差异导致的问题。(Mybatis-plus官网原话)

pagehelper依赖包中由上图得知,也是包含了MyBatis 以及 MyBatis-Spring,而MyBatis-Spring依赖冲突,系统自动用了Mybatis-plus中的MyBatis-Spring,所以我们只需要把pagehelper中的mybatis依赖删除即可,具体操作如下

在version 下面添加 exclusions依赖(排除)

 <!-- pagehelper-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.5</version>
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

重启项目并测试

postman测试结果

2021041409374018

 问题完美解决了

到此这篇关于使用Mybatis-plus工具和引入pagehelper依赖而产生的冲突问题以及具体解决方法的文章就介绍到这了,想要了解更多相关Mybatis-plus或者pagehelper依赖的其他详细内容,请搜索W3Cschool以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。

同类热门文章

2020年最新可用的磁力搜索引擎&种子搜索网站,持续整理分享

磁力搜索网站作为,网上流传的各种磁力搜索引擎大全基本都已陈旧过时,那2020年还有那些好用、值得推荐的磁力搜索网站&种子搜索引擎呢?今天就把最近整理收藏的种子搜索网站分享给大家。BTW:此文后续会长期

2020年最新可用的磁力搜索引擎&种子搜索网站,持续整理分享

Mybatis-plus和pagehelper依赖产生冲突问题的具体解决方案

在使用Mybatis-plus工具,同时又引入了pagehelper的依赖,结果导致了冲突问题。那么该如何解决这个问题?下面,将通过实例来为大家展示Mybatis-plus和pagehelper依赖冲突的解决方法。


Mybatis-plus和pagehelper依赖产生冲突问题的具体解决方案

深入了解C++中的new操作符:使用具体实例学习

C++中的new操作符是动态分配内存的主要手段之一。在程序运行时,我们可能需要动态地创建和销毁对象,而new就是为此提供了便利。但是,使用new也常常会引发一些问题,如内存泄漏、空指针等等。因此,本文将通过具体的示例,深入介绍C++中的new操作符,帮助读者更好地掌握其使用。


深入了解C++中的new操作符:使用具体实例学习

Python框架和库的区别:差异和应用场景

Python是一种广受欢迎的编程语言,拥有丰富的生态系统,其中包括各种框架和库。在本文中,我们将探讨Python框架和库之间的区别,并通过具体实例进行分析。


Python框架和库的区别:差异和应用场景

开源学练考一体的培训平台

前台H5cssjs,部分页面用的vue,后台C,可以进行二次开发,基本功能有点播,刷题,考试,学习监督,文中有部署文件直接部署,需要二次开发下载源码 主系统有以下主要功能,更多功能可以搭建部署测试,部

开源学练考一体的培训平台