当参数与表中UNIQUE索引重复时执行update,否则执行insert,适用于批量处理
MySQL语句:
INSERT INTO table_name (field1_name,field2_name,field3_name) VALUES (value1,value2,value3), (valuea,valueb,valuec) ON DUPLICATE KEY UPDATE field1_name=VALUES(field1_name), field2_name=field2_name+VALUES(field2_name)
对应mybatis语句:
<insert id="insertOrUpdate" parameterType="java.util.List"> INSERT INTO table_name( field1_name, field2_name, field3_name ) VALUES <foreach collection="list" item="item" index="index" separator=","> ( #{item.field1}, #{item.field2}, #{item.field3}) </foreach> ON DUPLICATE KEY UPDATE field1_name=VALUES(field1_name), field2_name=field2_name+VALUES(field2_name) </insert>