1. 程式人生 > >mybatis中使用replace into和 insert INTO … ON DUPLICATE KEY UPDATE批量操作

mybatis中使用replace into和 insert INTO … ON DUPLICATE KEY UPDATE批量操作

一、replace into

	<insert id=“a" useGeneratedKeys="true">
		REPLACE INTO table_name
		(product_id,departs_date,price_value)
		VALUES
		<foreach collection="list" index="index" item="item"
			separator=",">
			(#{item.productId},#{item.departsDate},#{item.priceValue})
		</foreach>
	</insert>

二、insert INTO … ON DUPLICATE KEY UPDATE
	<update id=“b">
		insert INTO table_name
		(product_id,departs_date,price_value,)
		VALUES
		<foreach collection="list" index="index" item="item"
			separator=",">
				(#{item.productId},#{item.departsDate},#{item.priceValue}
			</foreach>
		 ON DUPLICATE KEY UPDATE 
			 price_type = VALUES(price_type),
			 price_value = VALUES(price_value)
	</update>

例如:
     insert INTO table_name 
		(product_id,departs_date,price_value,res_id)
		VALUES
		(5152760,'2016-11-13','101.00',10014012) ,(5152761,'2016-11-13','102.00',10014012) 
		 ON DUPLICATE KEY UPDATE  price_value=values(price_value);