一般原因:
1:命名空间是否指向接口,检查xxxdao.xml文件的namespace命名
2:UserDao的方法在UserDao.xml中不存在或者写错
3:mapper的XML配置路径是否正确
以上原因都很容易找到,下面谈一个很难发现的原因。在SpringBoot框架中,绑定Mybatis,dao包或者mapper包里面的xml文件并没有编译进去,因为idea的默认配置文件都是放在src/main/resources目录下,如果想要编译src/main/java目录下的xml,可以在pom的build里配置resource。
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
XXDao文件和XX.xml文件名称不需要一模一样,只要命名空间正确即可。
然后重新启动SpringBoot