Mapped Statements collection does not contain value for。
先检查以下三个原因:
1.mybatis的映射文件的命令空间与接口的全限定名不一致;
2有可能mybatis的映射文件名字与接口的类名字不一致;
3.还有一种情况就是接口声明的方法在映射文件里面没有。
如果排查发现和上面说的一点都不符合。
而且是maven工程,那么就可能是下面一种:
mapper包中的mapper.xml没有编译到targger中,maven只能将resource里面的xml打包进去,排查发现target/classes/.../dao/文件夹下,发现只有mapper的class文件,而没有xml文件,将对应的xml文件放到这个文件夹下运行就不会出现下面的错误。说明出现这个错误的原因是maven编译时没有将xml文件放进去。
解决方法:
在pom.xml中添加如下代码:
<build> ... <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources> ... </build>