之前练习mybatis框架的时候遇到了一个很棘手的问题,接口的方法名和xml文件的id名字都一样,也是在同一个包下,接口的名字和xml文件的名字也都一样,但就是报错,在网上查了好多资料,总的来说找见了一位老哥写的总结非常好,我也总结一下,方便以后出现类似的问题能够自己解决
附上老哥那篇博客,总结的很好
org.apache.ibatis.binding.BindingException原因总结
自己总结的排查方法(没有上面老哥的详细):
1、对应接口的方法名是否与对应xml中的sql标签的id一致
2、对应的接口和对应xml文件是否在相同的包名下(resource下放xml文件的包要和对应接口的包一样)
3、接口的名字是否和xml文件的名字一样
4、如果是maven项目的话可能是没有编译,maven默认不编译
这时需要在pom.xml的加上这一段代码(我的问题就是这个问题)
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
这样问题就解决了。
如果这些还不管用的话就到老哥的博客参考一下。