第一种方式
<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&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语句