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