如果出現(xiàn):
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
一般的原因是Mapper interface和xml文件的定義對應不上,需要檢查包名,namespace,函數(shù)名稱等能否對應上,需要比較細致的對比,我經(jīng)常就是寫錯了一兩個字母搞的很長時間找不到錯誤
按以下步驟一一執(zhí)行:
1:檢查xml文件所在的package名稱是否和interface對應的package名稱一一對應
2:檢查xml文件的namespace是否和xml文件的package名稱一一對應
3:檢查函數(shù)名稱能否對應上
4:去掉xml文件中的中文注釋
5:隨意在xml文件中加一個空格或者空行然后保存
一般來說到此就可以排除錯誤了
以上是轉載自http://blog.csdn.net/softwarehe/article/details/8889206
很自卑,這個方法困擾了5個小時,在這里我已經(jīng)翻遍了有關這個問題的搜素引擎,都沒解決,直到我看到上面那個轉載,我出現(xiàn)這個問題上面的方法都沒有解決,不過給了這些解決辦法給了我一個思路,就是xml編譯的問題,去看了編譯的文件
編譯前
編譯后
果然沒有編譯進來。
解決方法有兩種:
1、把*Mapper.xml文件放到resource文件夾下管理
2、pom配置一下編譯xml文件
<resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource>
兩個方法都可以解決。