MyBatis中的配置文件如下
<insert id="insertOrUpdateBatch">
insert into aishu_job(job_id,job_type,job_name,job_desc,client_name,client_ip) values
<foreach collection="list" item="job" separator=",">
(#{job.jobId},#{job.jobType},#{job.jobName},#{job.jobDesc},#{job.clientName},#{job.clientIp})
</foreach>
on duplicate key update
job_type=values(job_type),
job_name=values(job_name),
job_desc=values(job_desc),
client_name=values(client_name),
client_ip=values(client_ip)
</insert>
其中,job_id是一个唯一索引字段,数据库会根据它来判断添加的记录是否有重复,如果不重复,就批量插入,如果有重复,就更新。
on duplicate key update关键字后面显示的是需要更新字段。