使用Mybatis做批量插入

使用Mybatis做批量插入

    oracle实例如下
    <select id="insertBatch"  parameterType="java.util.List">  
      insert into
    cmpp2_submit(baseflag,pktotal,pknumber,registereddelivery,msglevel,serviceid,feeusertype,feeterminalid,tppid,
    tpudhi,msgfmt,msgsrc,feetype,feecode,srcid,destusertl,destterminalid,msgcontent)
      <foreach collection="list" item="item" index="index" separator="UNION ALL">  
          SELECT
          #{item.baseflag}, #{item.pktotal},#{item.pknumber}, #{item.registereddelivery},#{item.msglevel}, #{item.serviceid},
          #{item.feeusertype}, #{item.feeterminalid},#{item.tppid}, #{item.tpudhi},#{item.msgfmt}, #{item.msgsrc},#{item.feetype},
          #{item.feecode},#{item.srcid}, #{item.destusertl}, #{item.destterminalid}, #{item.msgcontent}
          from dual  
      </foreach>  
     </select>

    注意点

    separator="union all" 不可以替换的 oracle 只是支持这种

    mysql

    <insert id="insertBatch" parameterType="java.util.List">  
      insert into
    send_sms(mobile,content)
    values  
      <foreach collection="list" item="item" index="index"  
          separator=",">  
          ( #{item.mobile}, #{item.content} )  
      </foreach>  
     </insert>


    你可能感兴趣的:(mybatis,批量插入)