189 8069 5689

动态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://cdxtjz.com/article/jioheo.html

其他资讯