两种Oracle数据库批量插入方法:在mybatis实现,带序列。

本文介绍两种使用MyBatis进行批量数据插入的方法。第一种适用于AAUSERFROMCOMMON表,通过序列生成ID并批量插入多条记录。第二种方法针对CMCLIENTINFO表,采用insert all语法批量插入客户信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种

<!-- 批量插入  2018-1-23 10:29:34  xieluyang -->

<insert id="batchInsert" parameterType="java.util.List" >
 
insert into AAUSERFROMCOMMON (
ID, SYS_CREATE_TIME, SYS_CREATE_ID, 
     SYS_LAST_MODIFY_TIME, SYS_LAST_MODIFY_USER_ID, 
     SYS_RECORD_STATUS, SYS_VERSION, SYS_ID, 
     SYS_COMPANY_ID, SYS_TIME_STAMP, SYS_FROM_TABLE
     ) 
  select noya_cm_common_seq.nextval,cd.* from(  
         <foreach collection="list" item="item" index="index" separator="union all">  
             select  
             #{item.sysCreateTime,jdbcType=TIMESTAMP}, #{item.sysCreateId,jdbcType=VARCHAR}, 
      #{item.sysLastModifyTime,jdbcType=TIMESTAMP}, #{item.sysLastModifyUserId,jdbcType=VARCHAR}, 
      #{item.sysRecordStatus,jdbcType=DECIMAL}, #{item.sysVersion,jdbcType=DECIMAL}, #{item.sysId,jdbcType=VARCHAR}, 
      #{item.sysCompanyId,jdbcType=VARCHAR}, #{item.sysTimeStamp,jdbcType=TIMESTAMP}, #{item.sysFromTable,jdbcType=VARCHAR} 
               from dual  
           </foreach>  
           ) cd     

</insert>

第二种

<!-- 批量插入  xieluyang -->
 <insert id="batchInsert" parameterType="java.util.List" >
insert all into CMCLIENTINFO (
SYS_ID, CODE, NAME, 
     CONTRY, PROVINCE, CITY, 
     AREA, SITE, TEL_NO, 
     FAX_NO, COMPANY_URL, PUBLIC_SIGN, 
     STAFF_SCALE, ANNUAL_SALES, PRODUCT_DESCRIPTION, 
     INDUSTRY, IS_LOCKED, AUDIT_STATUS
) values
<foreach collection="list" item="item" index="index"  separator=" INTO CMCLIENTINFO (
SYS_ID, CODE, NAME,CONTRY, PROVINCE, CITY, 
       AREA, SITE, TEL_NO,FAX_NO, COMPANY_URL, PUBLIC_SIGN, 
       STAFF_SCALE, ANNUAL_SALES, PRODUCT_DESCRIPTION, 
       INDUSTRY, IS_LOCKED, AUDIT_STATUS
) VALUES" >    
 (
 #{item.sysId,jdbcType=VARCHAR}, #{item.code,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, 
     #{item.contry,jdbcType=VARCHAR}, #{item.province,jdbcType=VARCHAR}, #{item.city,jdbcType=VARCHAR}, 
     #{item.area,jdbcType=VARCHAR}, #{item.site,jdbcType=VARCHAR}, #{item.telNo,jdbcType=VARCHAR}, 
     #{item.faxNo,jdbcType=VARCHAR}, #{item.companyUrl,jdbcType=VARCHAR}, #{item.publicSign,jdbcType=VARCHAR}, 
     #{item.staffScale,jdbcType=VARCHAR}, #{item.annualSales,jdbcType=DECIMAL}, #{item.productDescription,jdbcType=VARCHAR}, 
     #{item.industry,jdbcType=VARCHAR}, #{item.isLocked,jdbcType=VARCHAR}, #{item.auditStatus,jdbcType=VARCHAR}
     )
         </foreach>  
         SELECT * FROM dual
</insert>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值