转载: https://blog.csdn.net/oMrLeft123/article/details/70239951
现象
在进行单元测试的时候, 报错:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
原因
一般的原因
Dao接口和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上.
按以下步骤 一 一 执行检查:
1、检查xml文件所在的package名称是否和interface对应的package名称一一对应
2、检查xml文件的namespace是否和xml文件的package名称一一对应
3、检查函数名称能否对应上
4、去掉xml文件中的中文注释
5、随意在xml文件中加一个空格或者空行然后保存
注意:
在使用IDEA开发时, 有时候将.xml
文件放在dao包下 (比如放在*.dao.xml
包下) , 如果打包时.xml
文件没有自动复制到class输出目录的*.dao.xml
包下,则需要在pom文件中添加mybatis加载配置文件的配置!!!
如下:
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>