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/javadirectory>
                <includes>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>truefiltering>
            resource>
        resources>
...
build>
复制代码

你可能感兴趣的:(java)