mybatis配置時出現org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

轉載自:https://www.cnblogs.com/lfm601508022/p/InvalidBoundStatement.html

如果出現:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

一般的原因是Mapper interface和xml文件的定義對應不上,需要檢查包名,namespace,函數名稱等能否對應上,需要比較細緻的對比,我經常就是寫錯了一兩個字母搞的很長時間找不到錯誤

按以下步驟一一執行:

1:檢查xml文件所在的package名稱是否和interface對應的package名稱一一對應

2:檢查xml文件的namespace是否和xml文件的package名稱一一對應

3:檢查函數名稱能否對應上

4:去掉xml文件中的中文註釋

5:隨意在xml文件中加一個空格或者空行然後保存

一般來說到此就可以排除錯誤了

以上是轉載自http://blog.csdn.net/softwarehe/article/details/8889206

 

很自卑,這個方法困擾了5個小時,在這裏我已經翻遍了有關這個問題的搜素引擎,都沒解決,直到我看到上面那個轉載,我出現這個問題上面的方法都沒有解決,不過給了這些解決辦法給了我一個思路,就是xml編譯的問題,去看了編譯的文件

編譯前

編譯後

果然沒有編譯進來。

解決方法有兩種:

1、把*Mapper.xml文件放到resource文件夾下管理

2、pom配置一下編譯xml文件

<resource>
    <directory>src/main/java</directory>
    <includes>
        <include>**/*.xml</include>
    </includes>
</resource>

兩個方法都可以解決。

以上部分爲轉載的。



本人採用的方法是,將xml文件放到resources下面:


在配置文件裏面加上mapperLocations:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章