MyBatis繫結錯誤:org.apache.ibatis.binding.BindingException:Invalid bound statement (not found)

其樂無涯發表於2020-11-11

如果出現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檔案中加一個空格或者空行然後儲存
除此之外,還有一些特殊情況:
1、Idea的包名和目錄名生成機制,新建一個包1.2.3,目錄結構不是1—>2—>3,而是生成"1.2.3"的目錄,進而導致mybatis對映錯誤,此錯誤很難排查。
2、xml檔案定義如下:

<select id="*******" parameterMap="java.util.Map" resultType="java.lang.Integer">

parameterMap用錯,應該為parameterType,此錯誤會導致mybatis所有的mapper都報繫結錯誤。

相關文章