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