mybatis批量操作oracle

1.写个批量插入oracle的样例,供以后拿来就用,注意属性前面要加  item.

ProductMapper.java


    int insertForBatch(List<ProductValues> list);

 ProductMapper.xml

 <!-- 批量插入产品属性值 -->
    <insert id="insertForBatch" parameterType="java.util.List">  
        insert into PRODUCT_ATT_VALUES
        <trim prefix="(" suffix=")" suffixOverrides=",">
		        PRD_VALUE_ID,
		        PRODUCT_SAP_ID,
		        ATTRIBUTE_ID,
		        PRD_VALUE,
		        CREATED_BY,
		        CREATION_TIME,
		        MODIFIED_BY,
                MODIFICATION_TIME,
                DELETE_STATUS,
        </trim>
        select PRODUCT_ATT_VALUES_SEQ.nextval PRD_VALUE_ID, A.*
         FROM 
       <foreach  collection="list" item="item" open="(" close=")" index="index"  separator="UNION ALL">
               SELECT 
                <if test="item.productSapId != null">
                    #{item.productSapId,jdbcType=DECIMAL} PRODUCT_SAP_ID,
                </if>
                <if test="item.attributeId != null">
                    #{item.attributeId,jdbcType=VARCHAR} ATTRIBUTE_ID,
                </if>
                
                <if test="item.prdValue != null">
                   <![CDATA[#{item.prdValue,jdbcType=DECIMAL} PRD_VALUE]]>,
                </if>
                <if test="item.createdBy != null">
                    #{item.createdBy,jdbcType=DECIMAL} CREATED_BY,
                </if>
                    current_date CREATION_TIME,
                <if test="item.modifiedBy != null">
                    #{item.modifiedBy,jdbcType=VARCHAR} MODIFIED_BY,
                </if>
                    current_date MODIFICATION_TIME,
                    0 DELETE_STATUS
               FROM dual
       </foreach>  
       A
     </insert>

 

转载于:https://my.oschina.net/likaixuan0/blog/995704

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值