mybaits批量修改,批量添加,批量删除

主要用到mybaits的foreach标签

foreach标签的属性主要有
collection :被遍历的参数,如果是list ,collection 的属性值就是list;如果是array数组,collection的属性值为array;如果被遍历的参数在map中,collection 的属性值就是key值
item:集合中每个元素的别名(随便命名)
index:每次遍历时的下标(随便取名)
open:表示该语句前面拼接点啥东西比如(,value(,...
separator:表示在每次进行迭代之间以什么符号作为分隔 符,
close:表示该语句后面拼接点啥东西比如 ")"...

 

test1表: 

 

 

 

批量修改:

xml:

<update id="update" parameterType="com.xjz.user.bean.User">
        <foreach collection="list" item="item" index="index" separator=";">
            UPDATE test2
            SET age = #{item.age},
            SET name = #{item.name}
            WHERE id = #{item.id,jdbcType=INTEGER}
        </foreach>
</update>    

mapper:

 

 void update(List<User> list);

 

 

批量添加:

xml:

 

 <insert id="insert" parameterType="com.xjz.user.bean.User">
        INSERT INTO test2
        (age,name)
        VALUES
        <foreach collection="list" item="item" index="index"  separator=",">
          (#{item.age},#{item.name})
        </foreach>
    </insert>

 

mapper:

 

void insert(List<User> list);

 

  

 

批量删除:

  <delete id="delete" parameterType="java.util.List">
        <foreach collection="list" item="id" separator=";" index="index">
            DELETE FROM test1
            WHERE id = #{id}
        </foreach>
    </delete>

mapper:

void insert(List list);

  

 

posted @ 2020-09-02 16:38  肖镜泽  阅读(305)  评论(0编辑  收藏  举报