1.list
传参:
ids:["1","2","3"]
java用map接,会得到list类型。
xml
<if test="ids != null and ids.size>0'" >
and col in
<foreach collection="ids" item="item" open="(" separator="," close=")"> #{item}
</foreach>
</if>
2.java 转 array
传参 ids: "1,2,3"
String str = "1,2,3,4";
Map map = new HashMap();
map.put("ids",str.spit(","));
<if test="ids != null and ids != ''" >
and col in
<foreach collection="ids" item="item" open="(" separator="," close=")">
<if test="item != null and item != ''" >
#{item} 或者:cast(#{item} as numeric) 或者:#{item}::numeric
</if>
</foreach>
</if>
3.mybatis xml里自己split
传参 ids: "1,2,3"
结果: col in('1','2','3')
<if test="ids != null and ids != ''" >
and col in
<foreach collection="ids.split(',')" item="item" open="(" separator="," close=")">
<if test="item != null and item != ''" >
#{item} 或者:cast(#{item} as numeric)
</if>
</foreach>
</if>
4.CDATA
传参 ids: "1,2,3"
col in(1,2,3)
缺点,如果是字符串,就需要传 "''1'',''2'',''3''"
<if test="ids != null and ids != ''" >
and col in (<![CDATA[ ${ids} ]]>)
</if>
推荐1,3