动态MappedStatement在iBATIS中怎么应用
本篇内容主要讲解“动态Mapped Statement在iBATIS中怎么应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“动态Mapped Statement在iBATIS中怎么应用”吧!
专注于为中小企业提供网站设计制作、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业增城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
先看看实例:
Java代码
﹤select id="dynamicGetAccountList" cacheModel="account-cache" resultMap="account-result"﹥ select * from ACCOUNT ﹤isGreaterThan prepend="and" property="id" compareValue="0"﹥ where ACC_ID=#id# ﹤/isGreaterThan﹥ order by ACC_LAST_NAME ﹤/select﹥
例子说明:
如果值小于0,那么sql语句就是:
Java代码
select * from ACCOUNT order by ACC_LAST_NAME
动态Mapped Statement应用更复杂的例子:
Java代码
﹤select id="dynamicGetAccountList" resultMap="account-result"﹥ select * from ACCOUNT ﹤dynamic prepend="WHERE"﹥ ﹤isNotNull prepend="AND" property="firstName"﹥ (ACC_FIRST_NAME=#firstName# ﹤isNotNull prepend="OR" property="lastName"﹥ ACC_LAST_NAME=#lastName# ﹤/isNotNull﹥ ) ﹤/isNotNull﹥ ﹤isGreaterThan prepend="and" property="id" compareValue="0"﹥ ACC_ID=#id# ﹤/isGreaterThan﹥ ﹤/dynamic﹥ order by ACC_LAST_NAME ﹤/select﹥
动态Mapped Statement实例注解:
prepend:可被覆盖的SQL语句组成部分
property:被比较的属性
compareProperty:另一个用于和前者比较的属性
compareValue用于比较的值
﹤isEqual﹥
﹤isNotEqual﹥
﹤isGreaterThan﹥
﹤isGreaterEqual﹥
﹤isLessThan﹥
﹤isLessEqual﹥
﹤isPropertyAvailable﹥:检查是否存在该属性
﹤isNotPropertyAvailable﹥:
﹤isNull﹥:检查属性是否为null
﹤isNotNull﹥
﹤isEmpty﹥:检查Collection.size()的值,属性String或String.valueOf()值是否为null或空
﹤isNotEmpty﹥:
﹤isParameterPresent﹥:检查是否存在参数对象(不为null)
﹤iterate﹥遍历集合:
Java代码
﹤iterate prepend="and" property="userNameList" open="(" close=")" conjunction="or"﹥ username=#userNameList[]# ﹤/iterate﹥
property属性:类型为java.util.List的用于遍历的元素
open属性:整个遍历内容开始的字符串,用于定义括号
close属性:整个便利内容结束的字符串
conjunction:每次遍历内容之间的字符串,用于定义AND或OR
到此,相信大家对“动态Mapped Statement在iBATIS中怎么应用”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
本文题目:动态MappedStatement在iBATIS中怎么应用
标题网址:http://pwwzsj.com/article/jioheo.html