IBatis之Iterate

Iterate:这属性遍历整个集合,并为 List 集合中的元素重复元素体的内容。
Iterate 的属性: 
      prepend  - 可被覆盖的 SQL 语句组成部分,添加在语句的前面(可选) 
      property  - 类型为 java.util.List 的用于遍历的元素(必选) 
      open  -  整个遍历内容体开始的字符串,用于定义括号(可选) 
      close  -整个遍历内容体结束的字符串,用于定义括号(可选) 
      conjunction -  每次遍历内容之间的字符串,用于定义 AND 或 OR(可选) 
      遍历类型为 java.util.List的元素。 

ibatis中配置in语句:

<select id="selectUserInfoByNames" parameterClass="java.util.Map" resultclass="java.util.List">
select * from users where name in 
<iterate property="nameList" conjunction="," close=")" open="(" /> 
#nameList[]# 
</iterate>
and age < #age#
</select>


生成的SQL形如:

select * from users where name in ('admin','system','manager') and age < 18;


ibatis中配置or语句:

<select id="selectUserInfoByNames" parameterClass="java.util.Map" resultClass="java.util.List">
select * from users where age < #age# 
<iterate prepend="AND" property="UserNameList"
  open="(" close=")" conjunction="OR">
  username=#UserNameList[]#
</iterate>
</select>


生成的SQL形如:
 

select * from users where age < 20
   and username='admin' or username='scott' or username='root';

--------------------- 
作者:luckystar2008 
来源:CSDN 
原文:https://blog.csdn.net/qincidong/article/details/7520163 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值