springboot中mybatis接口和.xml文件放不同包,遇到的Invalid bound statement (not found)问题

在项目中由于接口和xml文件有那么一点点多,我打算分子包放,结果分了子包放入后报错了,org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),没有发现接口中的方法,困扰了很久,一直觉得是接口没有加载到spring中,当时跟踪源码,发现是有接口的,以为是接口方法没有加载,结果没找到方法在哪儿加载的,然后不停的百度找方法,先是找了个mybatis的配置工具,主要是扫描配置文件中配置的mapper接口的路径包,结果还是不行,昨天晚上终于想通了,报Invalid bound statement (not found)错,不是说没有发现接口中的方法,是接口中的方法没有发现.关联的xml文件,这儿想通了,就找到问题了,是application.properties中的mybatis.mapper-locations没配置对,按照上图中的实例层级,应该这样配置mybatis.mapper-locations=classpath:mybatis/*/**/*.xml,其他配置,启动类中配置,@MapperScan({"xxx.xxx.xxx.mapper"}),application.properties中mybatis.type-aliases-package=com.yld.quota.manage.mapper,mybatis.config-locations=classpath:mybatis/mybatis-config.xml,mapper接口中加注解@Mapper,这样就可以了,主要是mybatis.mapper-locations路径没配置对。特此记录,方便以后遇到类似问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上善亦若水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值