新聞中心
本篇內容主要講解“動態(tài)Mapped Statement在iBATIS中怎么應用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“動態(tài)Mapped Statement在iBATIS中怎么應用”吧!
專注于為中小企業(yè)提供網站設計制作、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)增城免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。
先看看實例:
Java代碼
﹤select id="dynamicGetAccountList" cacheModel="account-cache" resultMap="account-result"﹥ select * from ACCOUNT ﹤isGreaterThan prepend="and" property="id" compareValue="0"﹥ where ACC_ID=#id# ﹤/isGreaterThan﹥ order by ACC_LAST_NAME ﹤/select﹥
例子說明:
如果值小于0,那么sql語句就是:
Java代碼
select * from ACCOUNT order by ACC_LAST_NAME
動態(tài)Mapped Statement應用更復雜的例子:
Java代碼
﹤select id="dynamicGetAccountList" resultMap="account-result"﹥ select * from ACCOUNT ﹤dynamic prepend="WHERE"﹥ ﹤isNotNull prepend="AND" property="firstName"﹥ (ACC_FIRST_NAME=#firstName# ﹤isNotNull prepend="OR" property="lastName"﹥ ACC_LAST_NAME=#lastName# ﹤/isNotNull﹥ ) ﹤/isNotNull﹥ ﹤isGreaterThan prepend="and" property="id" compareValue="0"﹥ ACC_ID=#id# ﹤/isGreaterThan﹥ ﹤/dynamic﹥ order by ACC_LAST_NAME ﹤/select﹥
動態(tài)Mapped Statement實例注解:
prepend:可被覆蓋的SQL語句組成部分
property:被比較的屬性
compareProperty:另一個用于和前者比較的屬性
compareValue用于比較的值
﹤isEqual﹥
﹤isNotEqual﹥
﹤isGreaterThan﹥
﹤isGreaterEqual﹥
﹤isLessThan﹥
﹤isLessEqual﹥
﹤isPropertyAvailable﹥:檢查是否存在該屬性
﹤isNotPropertyAvailable﹥:
﹤isNull﹥:檢查屬性是否為null
﹤isNotNull﹥
﹤isEmpty﹥:檢查Collection.size()的值,屬性String或String.valueOf()值是否為null或空
﹤isNotEmpty﹥:
﹤isParameterPresent﹥:檢查是否存在參數對象(不為null)
﹤iterate﹥遍歷集合:
Java代碼
﹤iterate prepend="and" property="userNameList" open="(" close=")" conjunction="or"﹥ username=#userNameList[]# ﹤/iterate﹥
property屬性:類型為java.util.List的用于遍歷的元素
open屬性:整個遍歷內容開始的字符串,用于定義括號
close屬性:整個便利內容結束的字符串
conjunction:每次遍歷內容之間的字符串,用于定義AND或OR
到此,相信大家對“動態(tài)Mapped Statement在iBATIS中怎么應用”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
網站標題:動態(tài)MappedStatement在iBATIS中怎么應用
本文地址:http://fisionsoft.com.cn/article/jioheo.html