iBATIS動態(tài)查詢的實現(xiàn)淺析
iBATIS動態(tài)查詢的實現(xiàn)主要是在iBATIS中使用安全的拼接語句,動態(tài)查詢
iBATIS比JDBC的優(yōu)勢之一,安全高效
iBATIS動態(tài)查詢實例:(說明文字在注釋中)
- ﹤ select id ="selectAllProducts" parameterClass ="Product" resultMap ="ProductResult" ﹥
- select id,note from Product
- ﹤ dynamic prepend ="WHERE" ﹥
- ﹤!-- isNotNull判斷參數(shù)是否存在,Integer類型 --﹥
- ﹤ isNotNull property ="id" ﹥
- ﹤!-- isGreaterThan判斷參數(shù)是否大于compareValue,isGreaterEquals是大于等于 --﹥
- ﹤ isGreaterThan prepend =" and " property ="id" compareValue ="0" ﹥
- id = #id#
- ﹤/ isGreaterThan ﹥
- ﹤/ isNotNull ﹥
- ﹤!-- isNotEmpty判斷字串不為空,isEmpty可以判斷字串為空 --﹥
- ﹤ isNotEmpty prepend =" and " property ="note" ﹥
- ﹤!-- 模糊查詢不能用#,#在是用prepareStatement的?插入?yún)?shù),$是文本替換 --﹥
- note like '%$note$%'
- ﹤/ isNotEmpty ﹥
- ﹤/ dynamic ﹥
- ﹤/ select ﹥
iBATIS動態(tài)查詢解釋:
用Map傳參數(shù)
- ﹤ 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判斷參數(shù)是否小于compareValue,isLessEquals是小于等于 --﹥
- ﹤ isLessThan prepend =" and " property ="id" compareValue ="10" ﹥
- id = #id#
- ﹤/ isLessThan ﹥
- ﹤/ isNotNull ﹥
- ﹤/ isPropertyAvailable ﹥
- ﹤/ dynamic ﹥
- ﹤/ select ﹥
iBATIS動態(tài)查詢幾個常用屬性
﹤ isPropertyAvailable ﹥ 屬性是存在
﹤ isNotPropertyAvailable ﹥ 屬性不存在
﹤ isNull ﹥ 屬性值是null
﹤ isEmpty ﹥ 判斷Collection.size ﹤ 1 或String.length()﹤1
﹤isEqual ﹥ 等于
﹤ isNotEqual ﹥ 不等于
﹤ isGreaterThan ﹥ 大于
﹤ isGreaterEqual ﹥ 大于等于
﹤ isLessThan ﹥ 小于
﹤ isLessEqual ﹥ 小于等于
iBATIS動態(tài)查詢的相關信息就向你介紹到這里,希望對你了解iBATIS動態(tài)查詢有所幫助。
【編輯推薦】