Posted on 2009-10-19 13:02
H2O 阅读(1309)
评论(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动态查询有所帮助。
