SpringMVC中Invalid bound statement (not found)常见报错问题解决
作者:fanjun1997
问题场景:
在SpringMVC项目中,通过mapper接口加载映射文件,完成数据库的操作。
问题描述
报错:Invalid bound statement (not found):
原因分析:
1、xml文件的namespace不正确
2、XxxMapper.java的方法在XxxMapper.xml中没有,运行则会报此错误
3、XxxMapper.java的方法返回值是List,但是没有正确配置ResultMap,或者只配置ResultType
4、XxxMapper.java文件和XxxMapper.xml没有在一个文件夹下面
5、mapper接口中的方法名和mapper.xml中的id标签不一致
解决方案:
1>认真检查xml文件的namespace是否写对了,XxxMapper 接口必须要和 XxxMapper.xml 文件同名且在同一个包下,也就是说 UserMapper.xml 文件中的namespace是UserMapper接口的全类名
2>检查接口文件中的方法是否在.xml文件中都写出来了
3>查看接口的返回类型、参数类型和xml文件中的有没有对应
4>查看文件路径是否在同一个下面
5>UserMapper接口中的方法名和 UserMapper.xml 文件中定义的 id 一致
但是使用以上方法后并没有解决我的问题,最终发现通过在pom.xml文件中配置开启过滤,成功解决问题!
在pom.xml文件中(注意:是在标签下)加入以下代码
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
问题解决!
到此这篇关于SpringMVC中Invalid bound statement (not found)常见报错问题解决的文章就介绍到这了,更多相关Invalid bound statement (not found)内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!