Mybatis批量增删改查

1.批量新增

mapper层:

Integer batchAdd(@Param("list")List<UserEntity> userEntity);

xml:

<insert id="batchAdd" parameterType="java.util.List">INSERT INTO 表名(name, age, gender, psw, seq) values<foreach collection="list" item="item" index="index"  separator=",">( #{item.name},#{item.age},#{item.gender},#{item.psw},#{item.seq})</foreach>
</insert>

2.批量删除

mapper层:

Integer batchDelete(@Param("idList") List<Integer> idList);

xml:

<delete id="batchDelete" parameterType="java.util.List">DELETE FROM 表名 where id in  <foreach collection="idList" item="item" separator="," open="(" close=")">#{item}</foreach>
</delete>

3.批量更新

mapper层:

Integer batchUpdateOneVariable(@Param("user") UserEntity user,@Param("idList") List idList);

xml:

<update id="batchUpdateOneVariable" >UPDATE 表名 set psw=#{user.psw}<where>id in (<if test="idList.size()!=0"><foreach collection="idList" separator="," item="item" index="index">#{item}</foreach></if>)</where>
</update>

4.批量查询

mapper层:

List<UserEntity> batchSelect2(UserEntity2 userEntity2);

xml:

<select id="batchSelect2" parameterType="cn.com.exercise.batch.entity.UserEntity2" resultMap="user">select * from 表名<where>id in<foreach collection="ids" separator="," open="(" close=")" index="index" item="item">#{item}</foreach></where>
</select>