mybatis 对oracle和mysql 批量插入操作

来源:互联网 发布:数据库字段注释 编辑:程序博客网 时间:2024/05/01 04:25
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>