Mybatis动态Sql中,foreach的使用场景:对集合进行遍历(尤其是在构建 IN 条件语句的时候)
例子:
//DAO中有一个删除方法,参数是可变长度参数,按id删除元素 void del(int... id);
<delete id="del" parameterType="Cart"> delete from mall_cart where id in <!--collection,代表参数的类型,数组用<array>,List集合用<list>--> <!--item,传入的参数名--> <!--open,在带有 in 的sql 语句中拼接的 ( 符号--> <!--close, ‘ )‘ separator ‘ , ‘--> <foreach collection="array" item="id" open="(" close=")" separator=","> #{id} </foreach> </delete>
#{ }中的参数名和,item字段中的要保持一致