已有springboot项目,整合mybatisplus遇到的一些列问题:比如baseMapper自带的方法不好使。

已有springboot项目,整合mybatisplus遇到的一些列问题:比如baseMapper自带的方法不好使。

出现这个问题的时候,项目关于mybatisplus的环境是
Gradle依赖:
implementation group: ‘com.baomidou’, name: ‘mybatis-plus-boot-starter’, version: ‘3.4.2’
implementation group: ‘com.baomidou’, name: ‘mybatis-plus’, version: ‘3.4.2’
implementation group: ‘com.baomidou’, name: ‘mybatis-plus-generator’, version: ‘3.3.2’

Xml相关配置:
在这里插入图片描述

老司机看到这个后,就会发现问题,mybatisplus要用MybatisSqlSessionFactoryBean,而不用默认的SqlSessionFactory。
所以xml要修改为:
在这里插入图片描述

注意class处的变化。

关于我这里为什么是用xml配置的,是项目自身的原因,比如我的项目依赖于一个sdk,sdk依赖于xml配置,
那么java代码的配置就会不生效。一定要注意这个原因,否则你傻乎乎的一个劲用java代码配置,一直不对。
Java代码如何配置,也贴一下代码:
在这里插入图片描述

图来源于:
https://blog.csdn.net/u011602668/article/details/113950389?spm=1001.2014.3001.5501
也可以参考这个链接,尝试来解决这个问题。
网上看到有人针对这个问题回答说:
在这里插入图片描述

感兴趣的自己试试吧。
到此为止,关于baseMapper中接口不可用的问题,已经解决。

如果项目运行没问题,就不同往下看了,
如果项目运行出现
java.lang.NoClassDefFoundError: org/mybatis/logging/LoggerFactory
这个问题对我来说,可能对你们大家也一样,是mybatisplus的依赖出现冲突。
Maven怎么检查冲突就不说了,Gradle如何查看依赖是否冲突?
在这里插入图片描述

点击这个按钮,
Console窗口的内容,比如
在这里插入图片描述
在这里插入图片描述

关于mybatis的,出现这种箭头的,就是冲突,
我们可以这样来解决,再gradle文件中设置
在这里插入图片描述
在这里插入图片描述

选择一个版本就可以。

到此,这个问题也就解决了。

如果你出现了其它的问题?
检查下面几个提示看你是否符合,
1,就需要看看你的mybatispus集成是否规范,
SpringbootApplication启动类中是否加入了@MapperScan(“mapper路径”),如果没加的话,就需要再每个mapper类上手动加上@Mapper注解。
2,如果你先依赖中引入了mybatis-plus-boot-starter依赖,就不要引入mybatis-spring等依赖,
这样mybatispus依赖就无效了,自然也就不好使。
如果检查后没有引入,但还是不好使,可能是你的项目依赖了别的项目,产生了间接依赖
,尝试使用gradle中的exclude关键解决这个问题。

关于上面的问题,mybatis-plus-extension出现冲突,一个是3.3.2,一个是3.4.2。
其实就是我gradle依赖中的
在这里插入图片描述

这个两个版本,如果把它俩改成同一个版本是不是就不会有冲突了呢?
很可惜,mybatis-plus-generator没有3.4.2版本,所以我就没测,累了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值