在IDEA编辑器中出现 nvalid bound statement (not found) … with root cause 问题,基本可断定为书写/配置有误或target文件夹未加载配置和映射文件
书写/配置上检查步骤:
- 检查xml文件所在package名称是否和Mapper interface所在的包名一一对应
- 检查xml的namespace是否和xml文件的package名称一一对应
- 检查方法名称是否对应
- 检查包扫描是否能包含
- 去除xml文件中的中文注释
target文件夹未加载配置和映射文件:
target文件夹是IDEA默认的编译路径,即存放class或者包文件的地方,tomcat启动都从此拿资源
- 一般重新加载文件可让target目录同步更新,然后再运行
在resources下书写配置文件和映射文件,正常编译运行的文件目录结构类似如下图,会在target/classes目录下生成雷同的一份文件
- target无法同步更新,简单粗暴点就是手动将配置文件和mapper映射文件复制一份放到target/classes目录下
- 若是此原因又嫌每次修改配置文件或映射文件都得手动复制一份麻烦的话,可如下操作:
IDEA 有些版本不像eclipse那样自动将新保存的文件或目录及其他资源更新到target目录中,必须在pom.xml中设置
<build>
<resources>
<!-- 导入src/main/java目录下所有文件 -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
<!-- 重点:导入src/main/resources目录下所有文件 -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
然后Rebuild Project 即可