我是新來的iBatis,我正在努力與元素。使用<isNull> ibatis問題,同時迭代列表
我想迭代一個Book實例列表(例如)作爲一個HashMap:MyParameters傳入。該列表將被稱爲listOfBooks。
整體SQL語句的條款,因此看起來就像這樣:
<iterate prepend="AND" property="MyParameters.listOfBooks" conjunction="AND" open="(" close=")">
...
</iterate>
我還需要取決於迭代元素中產生不同的SQL是否每個Book實例在「listOfBooks」列表屬性爲空或者不是。
所以,我需要一個說法是這樣的:
<iterate prepend="AND" property="MyParameters.listOfBooks" conjunction="AND" open="(" close=")">
<isNull property="MyParameter.listOfBooks.title">
<!-- SQL clause #1 here -->
</isNull>
<isNotNull property="MyParameter.listOfBooks.title">
<!-- SQL clause #2 here -->
</isNotNull>
當我這樣做,我得到一個錯誤消息,指出沒有「可讀的」財產在我的書命名爲「標題」類。但是,每個Book實例包含一個標題屬性,所以我很困惑!我只能說,我已經在試圖查明listOfBooks中特定Book實例的標題時使用了語法。 我正在努力尋找實現這一目標的正確方法。如果任何人都可以提出建議,我會很感激。
感謝
感謝您的參考:我一定會檢查出來的。我試過括號內的語法,因爲我感覺自己的語法是錯誤的實體。不幸的是,這也沒有奏效。底層數據庫是Oracle 10g,但我不知道COALESCE功能。我會研究這個;再次感謝 – onoma 2010-04-26 17:44:28