1. 程式人生 > >開發遇到問題以及解決方法:mybatis配置時出現org.apache.ibatis.binding.BindingException: Invalid bound statement

開發遇到問題以及解決方法:mybatis配置時出現org.apache.ibatis.binding.BindingException: Invalid bound statement

如果出現:

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檔案中加一個空格或者空行然後儲存

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

如果還是沒有解決就有可能是xml編譯問題
解決方法有兩種:

1、把*Mapper.xml檔案放到resource資料夾下管理

2、pom配置一下編譯xml檔案

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

兩個方法都可以解決。