mysql:
INSERT INTO t_uc_patient_group (
his_id,
patient_id,
patient_name,
group_id
)
VALUES
(186,88,'wangyi',3),(186,88,'wangyi',4)
ON DUPLICATE KEY UPDATE `status` = 1,oper_status = 0;
此处是以patient_id和group_id作为唯一索引
mapper.xml:
<insert id="batchInsertOrUpdate" parameterType="java.util.List">
INSERT INTO t_uc_patient_group(his_id, patient_id, patient_name, group_id)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.hisId,jdbcType=BIGINT},#{item.patientId,jdbcType=BIGINT},#{item.patientName,jdbcType=VARCHAR},#{item.groupId,jdbcType=BIGINT})
</foreach>
ON DUPLICATE KEY UPDATE `status`=1,oper_status=0
</insert>
发现了个奇怪的现象,在箭头所指处不要按tab键调整格式,不然会报错(错误的SQL语法)