最近搞公司的项目,用的mybatis,写好后测试,一直报错:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):XXXXX
解决思路:
- mapper xml配置的localtion路径不对,别名扫描路径不对
- mapper xml中namespace
- mapper xml中方法名和mapper java是否匹配
如果你确定上边都没问题,那么你可能是这个问题:
我用的是maven,找到mapper下的target,发现编译后的classes下xml没有被编译进去,所以一直没有xml可以和方法对的上,需要在pom中加一个关闭xml 的filter过滤依赖。
<build>
<!-- 解决xml等文件不会被编译问题-->
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
上边是代码,放在你的mapper(我的父子项目,如果你是单体应用,直接放项目中pom即可)的pom.xml中,然后mvn clean ,重新编译运行即可。
如果您觉得本篇文章不错的话,感谢点赞,评论。