java-关于mybatis-plus的依赖冲突问题以及其他的坑

关于mybatis-plus的依赖冲突问题

查找mybatis-plus的依赖的时候,可以发现有mybatis-plus依赖和mybatis-plus-boot-starter两种依赖,因为我使用的是springboot工程,所以选了mybatis-plus-boot-starter的依赖。在测试的时候因为想测试mybatis,所以添加了mybatis的依赖。

实际上,在mybatis-plus的官网也有说明,尽量不要添加mybatis的依赖,但是实际上可以添加,答案是可以添加,但是,,,,

下面说说问题,
映射文件的配置如下:

 mybatis:
  mapper-locations: classpath:/mapper/*.xml

但是在使用的时候报异常了 org.apache.ibatis.binding.BindingException: Invalid
bound statement (not found):
com.fanjun.mybatisplus.mapper.TNameMapper.selectByExample
出现这个异常后我反复检查了很多地方,如果将mapper的映射
文件调整到了java路径下,添加build配置加载java的xml文件,mybatis正常使用,那么问题很明显,映射文件的配置信息失效了。为什么会出现失效呢?
查看mybatis-plus-boot-starter包括了springboot配置的依赖,所以才出现mybatis无法找到接口方法的映射。

解决方法
很简单,使用mybatis-plus依赖就不会影响mybatis的使用了。

其他坑

tomcat启动无法加载文件

场景

mybatis-plus依赖导致The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path
如果去掉依赖,只有MySQL,重新了DataSource的bean并不会报错,但是引入依赖就立即报错
网上查找了资料,有些说是因为tomcat的问题,要下载文件到指定的文件,但是这个很明显不是,因为springboot是自带tomcat的,另外有人是发现依赖出现了冲突,经过检查,没有发现mybatis-plus的依赖冲突。最后看有一个网友说自己是因为错误的代码导致的,所以我也是集中在了代码检查上,经过一番测试,没有发现代码的问题,最后是想到还是从ssl上入手,想到了是配置上有这个。

jdbc:mysql://127.0.0.1:3306/decision?useSSL=false&characterEncoding=UTF8&autoReconnect=true&zeroDateTimeBehavior=convertToNull;verifyServerCertificate=false

修改为
jdbc:mysql://127.0.0.1:3306/decision?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC

其实这个ssl的报错也是之前启动报错,然后加上了ssl的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值