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动态查询有所帮助。
【编辑推荐】