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>