温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

动态Mapped Statement在iBATIS中怎么应用

发布时间:2021-12-31 15:49:56 来源:亿速云 阅读:110 作者:iii 栏目:编程语言

本篇内容主要讲解“动态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中怎么应用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI