使用mybatis实现批量新增和批量修改:
ON DUPLICATE KEY UPDATE
on duplicate key update :判断主键是否存在,主键存在则更新,不存在就新增
insert…on duplicate key update语法的作用,可以分析到,当发生主键冲突的时候,可以直接进行update操作,这个update操作里面可以更新任意想要更新的列;而没有主键冲突的时候,相当于对这个表进行了一次插入操作
int i = sysUserMapper.batchInsertOrUpdate(userIds,tripRuleId);
int batchInsertOrUpdate(@Param("userIds")List<Integer> userIds, @Param("tripRuleId")String tripRuleId);
<insert id="batchInsertOrUpdate">
insert into basic_sys_user_ext(user_id,user_trip_rule)
values
<foreach collection ="userIds"