Invalid bound statement (not found):常见报错原因解决

问题场景:

在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接口的全类名

mapper接口和mapper类必须在同一文件路径下

2>检查接口文件中的方法是否在.xml文件中都写出来了

3>查看接口的返回类型、参数类型和xml文件中的有没有对应

4>查看文件路径是否在同一个下面

mapper接口和mapper类必须在同一文件路径下

5>UserMapper接口中的方法名和 UserMapper.xml 文件中定义的 id 一致

在这里插入图片描述

在这里插入图片描述

**

但是使用以上方法后并没有解决我的问题,最终发现通过在pom.xml文件中配置开启过滤,成功解决问题!

在pom.xml文件中(注意:是在标签下)加入以下代码

**

   
      
        src/main/java
        
          **/*.properties
          **/*.xml
        
        false
      
      
        src/main/resources
        
          **/*.properties
          **/*.xml
        
        false
      
    

问题解决!

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/1b8c642a46.html