Mybatis批量更新数据

xiaoxiao2021-02-28  132

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&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语句

批量删除数据

<delete id="batchRemoveUserByPks" parameterType="java.util.List"> DELETE FROM LD_USER WHERE ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </delete>

转载请注明原文地址: https://www.6miu.com/read-43834.html

最新回复(0)