一、条件判断案例
<if test="userIds != null and userIds.size > 0">
AND user_id in
<foreach collection="userIds" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
</if>
二、遍历集合
1、使用@Param注解
public void insertList(@Param("list") List<User> users);
<insert id="insertList">
insert into user (id,name,password,sex,age)
values
<foreach collection="users" open="(" close=")" separator="," item="item">
(#{item.id,jdbcType=INTEGER}, #{item.name,jdbcType=VARCHAR},
#{item.password,jdbcType=VARCHAR}, #{item.sex,jdbcType=TINYINT},
#{item.age,jdbcType=INTEGER})
</foreach>
</insert>
2、不用注解
public void insertList(List<User> users);
<insert id="insertList" parameterType="java.util.List" >
insert into user (id,name,password,sex,age)
values
<foreach collection="list" open="(" close=")" separator="," item="item">
(#{item.id,jdbcType=INTEGER}, #{item.name,jdbcType=VARCHAR},
#{item.password,jdbcType=VARCHAR}, #{item.sex,jdbcType=TINYINT},
#{item.age,jdbcType=INTEGER})
</foreach>
</insert>
注意: collection=“users” 和 collection=“list”