防止重复插入
**前提:**设置primarykey或者设值unique索引.
1.insert ignore into 简单、出现重复记录返回警告、无法得知有其它原因引起的错误。
2.on duplicate key update 出现重复记录执行更新操作,其它原因引起的错误不会被忽略。
3.replace into 出现重复的记录,则先删除掉,再插入新记录。
<insert id="batchInsertInfo" parameterType="java.util.List">
INSERT INTO osa_area(
id,
area_id,
area_name,
local_phone,
remote_phone,
create_by,
create_date,
update_by,
update_date,
remarks,
del_flag
) VALUES
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.id},
#{item.areaId},
#{item.areaName},
#{item.localPhone},
#{item.remotePhone},
#{item.createBy.id},
#{item.createDate},
#{item.updateBy.id},
#{item.updateDate},
#{item.remarks},
#{item.delFlag}
)
</foreach>
ON duplicate KEY UPDATE
local_phone=values(local_phone),
remote_phone=values(remote_phone),
update_by=values(update_by),
update_date=values(update_date)
</insert>