现在的位置: 首页 > 综合 > 正文

Ibatis与Mysql整合不支持批量更新的问题

2018年02月11日 ⁄ 综合 ⁄ 共 715字 ⁄ 字号 评论关闭

更新数据库时,一次性发送多条sql,性能高于一次一条sql执行~

Mysql不支持批量更新,但可以通过以下实现:

UPDATE xxxxx
<trim prefix="set" suffixOverrides=",">
   <trim prefix="field_1=case" suffix="end,">
               <foreach collection="list" item="i" index="index">
                       <if test="i.field1!=null">
                         when id=#{i.id} then #{i.field1}
                       </if>
               </foreach>
            </trim>
            <trim prefix="field_2=case" suffix="end,">
               <foreach collection="list" item="i" index="index">
                       <if test="i.fileld2!=null">
                         when id=#{i.id} then #{i.fileld2}
                       </if>
               </foreach>
            </trim>

                        </trim>
       where  id in
       <foreach collection="list"  open="(" separator="," close=")" item="item">
           #{item.id}
       </foreach>

虽然看着挺繁琐~ 但总比一条一条sql执行效率高

抱歉!评论已关闭.