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>
複製代碼
發佈了28 篇原創文章 · 獲贊 20 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章