MYSQL批量更新

1,配置 &allowMultiQueries=true

     即:将数据库配置修改为 jdbc.url=jdbc:mysql://127.0.0.1:3306/datebase?useUnicode=true&characterEncoding=UTF-          8&autoReconnect=true&allowMultiQueries=true

 

更新操作1   
<update id="updateBatchEquipRatio" parameterType="java.util.List"> <foreach collection="equipRelLst" item="item" index="index" open="" close="" separator=";"> UPDATE t_preparation_zbbmgx zbx <trim prefix="set" suffixOverrides=","> <if test="item.plaitAmount != null"> zbx.plait_amount = #{item.plaitAmount}, </if> <if test="item.dischargeRatio != null"> zbx.discharge_ratio = #{item.dischargeRatio}, </if> <if test="item.intactRatio != null"> zbx.intact_ratio = #{item.intactRatio}, </if> <if test="item.personEquipmentRatio != null"> zbx.person_equipment_ratio = #{item.personEquipmentRatio}, </if> <if test="item.equipmentMacthRatio != null"> zbx.equipment_macth_ratio = #{item.equipmentMacthRatio}, </if> </trim> WHERE zbx.id=#{item.id} </foreach> </update>
更新操作2
<update id="updateBatchEquipAmount" parameterType="java.util.List"> update t_preparation_zbbmgx set plait_amount= <foreach collection="equipRelLst" item="item" index="index" separator=" " open="case ID" close="end"> when #{item.id} then #{item.plaitAmount} </foreach> where id in <foreach collection="equipRelLst" index="index" item="item" separator="," open="(" close=")"> #{item.id,jdbcType=BIGINT} </foreach> </update>

跟新操作1性能更靠谱

posted on 2019-07-16 15:40  以启山林  阅读(1982)  评论(0编辑  收藏  举报

导航