zoukankan      html  css  js  c++  java
  • mybatis 根据主键批量insert或update

    1、需求:

      主键存在:update

      主键不存在:insert

    2、关键语法:

      on duplicate key update

    3、批量操作

     1    <insert id="insertOrUpdateCoLod" parameterType="map">
     2         insert into sd_colog_details (call_time, logid, call_number,
     3                                       call_type, call_result, time_length,
     4                                       trans_result,co_id
     5         )
     6         values
     7         <foreach collection="coLogList" item="coLog" separator=",">
     8             (
     9             #{coLog.callTime,jdbcType=TIMESTAMP},
    10             #{coLog.logid,jdbcType=BIGINT},
    11             #{coLog.callNumber,jdbcType=VARCHAR},
    12             #{coLog.callType,jdbcType=SMALLINT},
    13             #{coLog.callResult,jdbcType=SMALLINT},
    14             #{coLog.timeLength,jdbcType=INTEGER},
    15             #{coLog.transResult,jdbcType=SMALLINT},
    16             #{coLog.coId,jdbcType=VARCHAR}
    17             )
    18         </foreach>
    19         on duplicate key update
    20             -- 需要更新的字段
    21             logid=values(logid),
    22             call_number=values(call_number),
    23             call_type=values(call_type),
    24             call_result=values(call_result),
    25             time_length=values(time_length),
    26             trans_result=values(trans_result)
    27     </insert>

    备注:其中主键为联合主键(co_id, call_time)

     on duplicate key update 后面根据 需要更新的字段

  • 相关阅读:
    C#枚举(一)使用总结以及扩展类分享
    .NET使用DinkToPdf将HTML转成PDF
    .NET使用MailKit进行邮件处理
    socket+django
    mysql 修改编码格式
    django中Model表的反向查询
    浅谈 session 会话的原理
    浅谈 django Models中的跨表
    django Models 常用的字段和参数
    encoding/xml
  • 原文地址:https://www.cnblogs.com/lxn0216/p/14476185.html
Copyright © 2011-2022 走看看