方法一:insert中on duplicate key update的使用
例如:
<insert id="bindPlaceInfo"> insert into group_place (place_id, group_${groupId}) values <foreach collection="list" item="placeId" index="index" separator=","> (#{placeId}, #{groupId}) </foreach> on duplicate key update group_${groupId} = #{groupId} </insert>
原理:表(group_place)中有primary key 或 unique key一个索引,如果记录出现主键或唯一键重复,就执行更新操作,影响行数是2(假设单条操作);否则执行新增操作,影响行数是1(假设单条操作)。
方法二:replace into的使用
例如:
原理:
可参考:https://blog.youkuaiyun.com/xlxxcc/article/details/52439734