Mybatis Oracle 批量插入

以下是批量插入的demo  大家可以参考,也算我爬过的坑


  
--- 带序列主键的批量插入  
  <insert id="addCheckDetail" parameterType="java.util.List">  
            INSERT INTO CHECK_DETAIL(  
                CHECK_id,CHECK_DATE,CHECK_WEEK,EMP_CODE,CHECK_TIME,CHECK_LATE,CHECK_LEAVE_EARLY,  
                CHECK_EXCEPTION,CHECK_WORK_OVERTIME,EMP_NAME,DEPT_NAME,CHECK_LATE_TIME,DESCRIPTION  
              )  
              select CHECK_DETAIL_SEQ.NEXTVAL,cd.* from(  
              <foreach collection="list" item="item" index="index" separator="union all">  
                  select  
                    #{item.checkDate,jdbcType=VARCHAR},  
                    #{item.checkWeek,jdbcType=VARCHAR},  
                    #{item.empCode,jdbcType=VARCHAR},  
                    #{item.checkTime,jdbcType=VARCHAR},  
                    #{item.checkLate,jdbcType=VARCHAR},  
                    #{item.checkLeaveEarly,jdbcType=VARCHAR},  
                    #{item.checkException,jdbcType=VARCHAR},  
                    #{item.checkWorkOverTime,jdbcType=VARCHAR},  
                    #{item.empName,jdbcType=VARCHAR},  
                    #{item.deptName,jdbcType=VARCHAR},  
                    #{item.checkLateTime,jdbcType=VARCHAR},  
                    #{item.description,jdbcType=VARCHAR}  
                    from dual  
                </foreach>  
                ) cd  
        </insert>  
		
		
--- 不带序列主键的批量插入

 <insert id="addCheckDetail" parameterType="java.util.List">  
            INSERT INTO CHECK_DETAIL(  
                CHECK_id,CHECK_DATE,CHECK_WEEK,EMP_CODE,CHECK_TIME,CHECK_LATE,CHECK_LEAVE_EARLY,  
                CHECK_EXCEPTION,CHECK_WORK_OVERTIME,EMP_NAME,DEPT_NAME,CHECK_LATE_TIME,DESCRIPTION  
              )  
              <foreach collection="list" item="item" index="index" separator="union all">  
                  select  
					#{item.checkId,jdbcType=VARCHAR},  
                    #{item.checkDate,jdbcType=VARCHAR},  
                    #{item.checkWeek,jdbcType=VARCHAR},  
                    #{item.empCode,jdbcType=VARCHAR},  
                    #{item.checkTime,jdbcType=VARCHAR},  
                    #{item.checkLate,jdbcType=VARCHAR},  
                    #{item.checkLeaveEarly,jdbcType=VARCHAR},  
                    #{item.checkException,jdbcType=VARCHAR},  
                    #{item.checkWorkOverTime,jdbcType=VARCHAR},  
                    #{item.empName,jdbcType=VARCHAR},  
                    #{item.deptName,jdbcType=VARCHAR},  
                    #{item.checkLateTime,jdbcType=VARCHAR},  
                    #{item.description,jdbcType=VARCHAR}  
                    from dual  
                </foreach>  
        </insert>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值