用法一:
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”根据自己的逻辑使用。