MyBatis一条语句(PostgresSql)实现批量新增更新操作ON CONFLICT

MyBatis一条语句(PostgresSql)实现批量新增更新操作ON CONFLICT

ON CONFLICT("主键") 可实现一条语句实现批量新增更新操,但是切记统一批次更新主键不能重复

语句示例

sql 复制代码
INSERT INTO "user" ("user_id", "username")
VALUES
	(35, '李雷'),
	(36, '韩梅梅') 
ON CONFLICT ("user_id")
DO UPDATE SET 
    "user_id" = EXCLUDED."user_id",
	"username" = EXCLUDED."username"

user_id为主键

MyBatis xml实现

xml 复制代码
<insert id="userBatchInsertOrUpdate" parameterType="java.util.List">
	INSERT INTO "user" ("user_id", "username") VALUES
	<foreach collection="list" item="item" separator=",">
		(#{item.user_id}, #{item.username})
	</foreach>
	ON CONFLICT ("user_id")
	DO UPDATE SET 
		"user_id" = EXCLUDED."user_id",
		"username" = EXCLUDED."username"
</insert>
相关推荐
一叶龙洲3 小时前
Java中使用模板引擎(FreeMarker / Velocity) + Word XML导出复杂Word
xml·java·word
Halo_tjn3 小时前
Java 接口的定义重构学生管理系统
java·开发语言·算法
Albert Edison3 小时前
【RabbitMQ】快速入门
java·分布式·rabbitmq
ch.ju3 小时前
Java程序设计(第3版)第二章——类型转换(1)
java
XiYang-DING3 小时前
【Java】哈希
java·哈希算法·散列表
ai旅人3 小时前
Guava RateLimiter深度解析:非阻塞令牌桶限流原理与跑批实战
java·限流·guava
Seven973 小时前
【从0到1构建一个ClaudeAgent】规划与协调-技能
java
范什么特西3 小时前
MyEclipse8.5配置
java·ide·myeclipse
想带你从多云到转晴3 小时前
05、数据结构与算法---栈与队列
java·数据结构·算法
QuZero3 小时前
ReentrantLock principle
java·算法