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

兵工廠三劍客發表於2018-06-23

轉載自: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:


相關文章