Posted on 2009-10-19 13:02
H2O 閱讀(1315)
評論(0) 編輯 收藏 所屬分類:
DataBase
iBATIS動態查詢的實現主要是在iBATIS中使用安全的拼接語句,動態查詢
iBATIS比JDBC的優勢之一,安全高效

iBATIS動態查詢實例:(說明文字在注釋中)

﹤ select id ="selectAllProducts" parameterClass ="Product" resultMap ="ProductResult" ﹥
select id,note from Product
﹤ dynamic prepend ="WHERE" ﹥
﹤!-- isNotNull判斷參數是否存在,Integer類型 --﹥
﹤ isNotNull property ="id" ﹥
﹤!-- isGreaterThan判斷參數是否大于compareValue,isGreaterEquals是大于等于 --﹥
﹤ isGreaterThan prepend =" and " property ="id" compareValue ="0" ﹥
id = #id#
﹤/ isGreaterThan ﹥
﹤/ isNotNull ﹥
﹤!-- isNotEmpty判斷字串不為空,isEmpty可以判斷字串為空 --﹥
﹤ isNotEmpty prepend =" and " property ="note" ﹥
﹤!-- 模糊查詢不能用#,#在是用prepareStatement的?插入參數,$是文本替換 --﹥
note like '%$note$%'
﹤/ isNotEmpty ﹥
﹤/ dynamic ﹥
﹤/ select ﹥

iBATIS動態查詢解釋:

用Map傳參數

﹤ select id ="selectAllProducts" parameterClass ="java.util.HashMap" resultMap ="ProductResult" ﹥
select id,note from Product
﹤ dynamic prepend ="WHERE" ﹥
﹤!-- isPropertyAvailable判斷屬性是否有效 --﹥
﹤ isPropertyAvailable property ="id" ﹥
﹤ isNotNull property ="id" ﹥
﹤!-- isLessThan判斷參數是否小于compareValue,isLessEquals是小于等于 --﹥
﹤ isLessThan prepend =" and " property ="id" compareValue ="10" ﹥
id = #id#
﹤/ isLessThan ﹥
﹤/ isNotNull ﹥
﹤/ isPropertyAvailable ﹥
﹤/ dynamic ﹥
﹤/ select ﹥

iBATIS動態查詢幾個常用屬性

﹤ isPropertyAvailable ﹥ 屬性是存在

﹤ isNotPropertyAvailable ﹥ 屬性不存在

﹤ isNull ﹥ 屬性值是null

﹤ isEmpty ﹥ 判斷Collection.size ﹤ 1 或String.length()﹤1

﹤isEqual ﹥ 等于

﹤ isNotEqual ﹥ 不等于

﹤ isGreaterThan ﹥ 大于

﹤ isGreaterEqual ﹥ 大于等于

﹤ isLessThan ﹥ 小于

﹤ isLessEqual ﹥ 小于等于

iBATIS動態查詢的相關信息就向你介紹到這里,希望對你了解iBATIS動態查詢有所幫助。
