Mybatis批量更新数据

第一种方式

<update id="updateBatch" parameterType="Map">
        update aa   set 
            a=#{fptm},
            b=#{csoftrain}
        where c in 
        <foreach collection="cs" index="index" item="item" pen="("separator=","close=")">
            #{item}
        </foreach>
</update> 

但是这种方式修改的字段值都是一样的。

第二种方式

修改数据库连接配置:&allowMultiQueries=true

比如:jdbc:mysql://192.168.1.236:3306/test?useUnicode=true&amp;characterEncoding=UTF-8&allowMultiQueries=true 

<update id="batchUpdate"  parameterType="java.util.List">
          <foreach collection="list" item="item" index="index" open="" close="" separator=";">
                update test 
                <set>
                  test=${item.test}+1
                </set>
                where id = ${item.id}
         </foreach>
</update> 

这种方式,可以一次执行多条SQL语句

摘录自:http://blog.csdn.net/tolcf/article/details/39213217

原文地址:https://www.cnblogs.com/azhqiang/p/7027756.html