天天看點

ibatis:There is no statement named insertComment in this SqlMap

在ibatis的sqlmap配置檔案中配置了一個存儲過程,存儲過程的參數用了一個parameterMap來定義。但是調試時報錯“There is no statement named insertComment in this SqlMap”。id肯定沒拼錯;sqlmap.xml裡肯定配置了對應的語句;但是還是會報這個莫名其妙的錯誤。

後來發現,出錯原因很啼笑皆非:我在sqlmap裡,是先寫了存儲過程的定義,然後寫的參數的定義。也就是說,我是這樣寫的:

<procedure id="dataFilter" parameterMap="dataFilterResult">……

<parameterMap class="java.util.HashMap" id="dataFilterResult">……

後來改成先寫參數後寫存儲過程,就是這樣:

就沒問題了。

看來,ibatis對sqlmap配置的解析是解釋型的,讀取一段解析一段;而不是先把全部配置讀取完畢後再整體進行解析。

本文轉自 斯然在天邊 51CTO部落格,原文連結:http://blog.51cto.com/winters1224/797946,如需轉載請自行聯系原作者