org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常的处理方式解决方案(最全)

今天报了个错,成功解决,看了一下其他的博客都写得挺好的,我也总结一下吧。。

话不多说,上错误截图

错误截图:


问题描述:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常


原因分析:

dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。


报错原因、解决方案:

一般首先看xml和dao层的代码

1、检查一下mapper.xml文件的namespace名称是否写对了包名路径(一般最好复制过来别手敲路径)

         1.1  Mybatis 中依赖配置文件名称和mapper接口名称是否要一致及原因(我看很多人在纠结mapper接口是否要和xml配置文件同名,我就来讲一下)

                    一:当核心配置文件mapper标签下以resource形式指向依赖配置文件时,不需要文件名一样就可以通过namespace找到其相应的配置文件

                    二:如果mapper标签下以package包(java文件夹下)扫描形式时,需要文件名一致。

2、查看mapper.xml下的select标签是否将ResultType写错成ResultMap这样的情况

3、是否添加mybatis依赖

      3.1如果你的pom里面包含mybatis-plus,记得要配置mybatis-plus.mapper-locations,只有mybatis.mapper-locations不起作用

<build>      
    <resources>          
        <resource>               
            <directory>src/main/java</directory>               
            <includes>                   
                <include>**/*.xml</include>            
            </includes>
        </resource>
    </resources>
</build>

4、检查函数名称能否对应上
5、去掉xml文件中的中文注释
6、随意在xml文件中加一个空格或者空行然后保存

7、maven通过clean清理重新安装一下试试

8、最后一种配置application.yml配置文件时:指定访问mapper映射文件的位置写错了    应该是classpath,我就是这个错误


猜你喜欢

转载自blog.csdn.net/weixin_46310452/article/details/112684747