目录
1、mapper.class的地址和xml中namespace的地址不相同例:
一、出现异常
新人在使用mybatis时一定总是出现:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)的错误吧。
二、原因罗列
首先出现这条报错的原因是因为程序在运行中需要执行mapper中的方法但找不到对应的xml文件或者xml中没有此方法。
1、mapper.class的地址和xml中namespace的地址不相同
例:
2、mapper.class中运行的方法名在xml中没有
例:
以上两种问题只需要将文件名或者方法名对上即可
3、xml文件写在java目录下像这样
我们发现编译后target里压根没有xml
解决方案:在maven的pom文件的build中加入:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
4、xml文件写在resources目录下
解决方案:在application.yml文件中加入
mybatis:
mapper-locations: classpath:mapper/*.xml