1. 程式人生 > >sql批量插入

sql批量插入

mapper:

public void insertBatch(@Param("channelOrders") List<ChannelOrder> channelOrders);

int insertCustomerCoupons(@Param("customerCoupons")List<CustomerCoupon> customerCoupons); //批量發紅包

mapper.xml:

<insert id="insertBatch" parameterType="java.util.List">

insert into channel_order (request_no, detail, result, cellphone, goods, channel_id, create_time) values

<foreach collection="channelOrders" item="channelOrder" index="index" separator="," >

(#{channelOrder.requestNO}, #{channelOrder.detail}, #{channelOrder.result}, #{channelOrder.cellphone}, #{channelOrder.goods}, #{channelOrder.channel.id}, #{channelOrder.createTime})

</foreach>

</insert>

<insert id="insertCustomerCoupons" >

insert into customer_coupon(user_id, coupon_id, amount, create_time, source, cellphone, dispatching_bonus_log_id) values

<foreach collection="customerCoupons" item="customerCoupon" index="index" separator=",">

(#{customerCoupon.user.id},

<choose>

<when test="customerCoupon.coupon.id > 0">

#{customerCoupon.coupon.id},

</when>

<otherwise>

0,

</otherwise>

</choose>

<choose>

<when test="customerCoupon.amount > 0">

#{customerCoupon.amount},

</when>

<otherwise>

0,

</otherwise>

</choose>

#{customerCoupon.createTime},

#{customerCoupon.source},

<if test="customerCoupon.cellphone != null">

#{customerCoupon.cellphone},

</if>

<if test="customerCoupon.cellphone == null">

'',

</if>

<choose>

<when test="customerCoupon.dispatchingBonusLogId > 0">

#{customerCoupon.dispatchingBonusLogId}

</when>

<otherwise>

0

</otherwise>

</choose>

)

</foreach>

</insert>