SpringBoot 依赖jar中的 MybatisPlus 接口报错

框架报错:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xxxxxx

出现这种错误的原因,一般是因为通过mapper接口无法找到与之绑定的xml文件。问题一般是出在xml文件上。

网上针对这个问题的解决办法基本上是围绕:

  1. 接口名与xml文件名是否一致。
  2. 是否完整编译。
  3. 重要排查点:maven的build扫描(打包后包内或本地运行target目录下是否含有xml文件);非resources下的xml文件,Maven打包eclipose会打入,但是idea并不会。
  4. xml<mapper>标签中的namespace属性值是否指定的是正确的接口。
  5. xml方法中parameterType没有使用权限定类名的话,看是否指定有效的typeAliasesPackage包别名。

但是我遇到的情况,问题出在这里:

mybatis-plus:
    # mapper-locations: classpath:mapper/**/*Mapper.xml
    mapper-locations: classpath*:mapper/**/*Mapper.xml

注意:看配置扫描xml文件路径的两种形式,一种是classpath不带有*号,一种是有*号,也不难理解。经过测试,有*号的形式,会把项目引入的依赖包中的xml文件扫描到。不带*号的形式,只会扫描到当前项目下的xml文件,依赖jar包中的xml文件并不会扫描到。

依赖中的xml文件存放路径要与项目保持一致,或逗号分割配置多个路径。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值