今天报了个错,成功解决,看了一下其他的博客都写得挺好的,我也总结一下吧。。
话不多说,上错误截图
错误截图:
问题描述:
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,我就是这个错误