mybatis.xml中foreach的用法

5 篇文章 0 订阅
1 篇文章 0 订阅

用法一:
mybatis.xml中一个字段要匹配多个值用法:

select * from T_USER t
where t.ID in
<foreach item="item" index="index" collection="list" open="(" separator="," close=")">
     #{item}
</foreach>

list是参数的名称,集合、数组都可以用。
若list中参数个数较多,Oracle中,关键字in的后面参数最多为1000个参数,所以上述语句可改成下面的:

select * from T_USER t
where 
<foreach item="item" index="index" collection="list" separator="or">
    t.ID =  #{item}
</foreach>

用法二:

mapper中方法:

List<User> select(@Param("type") String[] type);
select
    ID
    from T_USER t
    where 1 = 1
    and
    <foreach collection="type" item="item" index="index" separator=" or "> (type为mapper中方法的参数对应名称)
      SITE_TYPE like '%${item}%'
     </foreach>

“or”或“and”根据自己的逻辑使用。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值