批量新增且根据唯一索引更新示例
<insert id="saveBatch">
insert into construct_progress_record (project_id,
work_area_id,
work_point_id,
work_point_name,
serial,
region,
job_content,
type,
status,
act_start_time,
config_info,
progress_description,
progress_ratio,
act_end_time,
bid_num,
bid_output_num,
approved_num,
approved_output_num,
opt_time,
remark) values
<foreach collection="arr" item="item" separator=",">
(#{item.projectId},
#{item.workAreaId},
#{item.workPointId},
#{item.workPointName},
#{item.serial},
#{item.region},
#{item.jobContent},
#{item.type},
#{item.status},
#{item.actStartTime},
#{item.configInfo},
#{item.progressDescription},
#{item.progressRatio},
#{item.actEndTime},
#{item.bidNum},
#{item.bidOutputNum},
#{item.approvedNum},
#{item.approvedOutputNum},
#{item.optTime},
#{item.remark})
</foreach>
on duplicate key update status = VALUES(status),
act_start_time = VALUES(act_start_time),
config_info= VALUES(config_info),
progress_description = VALUES(progress_description),
progress_ratio = VALUES(progress_ratio),
act_end_time = VALUES(act_end_time),
bid_num = VALUES(bid_num),
bid_output_num = VALUES(bid_output_num),
approved_num = VALUES(approved_num),
approved_output_num = VALUES(approved_output_num),
remark = VALUES(remark)
</insert>
VALUES(column_name)引用原始插入数据中的值
注意:values()括号中的内容是字段名称。比如:在java程序中使用时表字段可能叫user_name, 实体类中是userName,values()里面要填user_name
评论区