最近搞公司的项目,用的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 ,重新编译运行即可。
如果您觉得本篇文章不错的话,感谢点赞,评论。