您好,登錄后才能下訂單哦!
本篇內容主要講解“動態Mapped Statement在iBATIS中怎么應用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“動態Mapped Statement在iBATIS中怎么應用”吧!
先看看實例:
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
動態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﹥
動態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
到此,相信大家對“動態Mapped Statement在iBATIS中怎么應用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。