目录
- 1 问题
- 2 实现
1 问题
在使用pg 数据库的时候,我们新增数据,希望如果有几个字段和数据库的一样,那么就更新数据,也就是在新增的时候,自动判断是否数据库有这个数据,有就更新,没有就新增
2 实现
1 首先你要确定要根据哪几个字段进行判断
然后,在数据库表里面
2 在 代码里面,xml 里面 的 insert 语句里面,这样写
<insert id="batchInsert" parameterType="map">
<!--@mbg.generated-->
insert into user
(id, create_time, quality,country)
values
<foreach collection="list" item="item" separator=",">
(#{item.id,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP},
#{item.quality,jdbcType=VARCHAR}, #{item.country,jdbcType=VARCHAR})
</foreach>
ON CONFLICT(station_num,obs_time)
DO UPDATE SET
quality=EXCLUDED.quality, country=EXCLUDED.country
</insert>