iBATIS动态查询的实现方法

这篇文章主要讲解了“iBATIS动态查询的实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“iBATIS动态查询的实现方法”吧!

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动态查询的实现方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!