項目啟動時 xml報錯:Could not find SQL statement to include with refid 'mbgl.panDuanZbsfkxg'


本文地址:https://blog.csdn.net/QQ826688096/article/details/89235500

Cause: java.lang.RuntimeException: Could not find SQL statement to include with refid 'mbgl.panDuanZbsfkxg'

在xml(ibatis)里面使用了<include id="XXX">,

然后,在對應的地方調用,

然后就報這個錯誤了。

 

錯誤分析:

主要是個人的代碼習慣因素。因為本人總是習慣把復雜的代碼都提取出來,都放到當前方法的下面新建立一個方法,一個是為了方便閱讀,另一個就是方便維護。要不然找起來很麻煩的。

我將復雜的sql提取出來放在了當前方法的下面了,原因就出在這里。因為<include>語法規定了,必須要寫在所有調用<include>的id值的方法之前才可以。這是ibatis在項目啟動的時候加載時按照從上到下的順序進行解析時,先找到了調用的方法,但是哪個方法里面引用了<include>方法,而xml的解析不會再去找<include>了。所以系統認為沒有<include>,所以報錯。

也就是說,必須先加載<include>后,才可以使用<include>。

解決:

將<include>方法放到該文件的最前面就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM