程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> mybatis:Invalid bound statement (not found),mybatisbound

mybatis:Invalid bound statement (not found),mybatisbound

編輯:JAVA綜合教程

mybatis:Invalid bound statement (not found),mybatisbound


【常規解決辦法】

如果出現:

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文件中加一個空格或者空行然後保存

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

 

【我遇到的問題】

  本地無問題,發布到服務器就無法登錄。

  錯誤日志:Should roll back transaction but cannot - no transaction available

  進一步定位(通過調整代碼順序):org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

【出錯原因】

  war包中找不到Mybatis的*Mapper.xml文件

【解決】

  在pom.xml中配置:
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include><!-- 此配置不可缺,否則mybatis的Mapper.xml將會丟失 -->
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved