Invalid bound statement (not found):常见报错原因解决
作者:mmseoamin日期:2024-01-25

问题场景:

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

Invalid bound statement (not found):常见报错原因解决,mapper接口和mapper类必须在同一文件路径下,第1张

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

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

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

Invalid bound statement (not found):常见报错原因解决,mapper接口和mapper类必须在同一文件路径下,第2张

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

Invalid bound statement (not found):常见报错原因解决,在这里插入图片描述,第3张

Invalid bound statement (not found):常见报错原因解决,在这里插入图片描述,第4张

**

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

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

**


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

问题解决!