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>
相关推荐
AAA修煤气灶刘哥33 分钟前
监控摄像头?不,我们管这个叫优雅的埋点艺术!
java·后端·spring cloud
寻星探路44 分钟前
Java EE初阶启程记09---多线程案例(2)
java·开发语言·java-ee
武子康1 小时前
Java-141 深入浅出 MySQL Spring事务失效的常见场景与解决方案详解(3)
java·数据库·mysql·spring·性能优化·系统架构·事务
珹洺1 小时前
Java-Spring入门指南(十五)SpringMVC注解开发
java·spring·microsoft
小满、1 小时前
什么是Maven?关于 Maven 的坐标、依赖管理与 Web 项目构建
java·maven
半旧夜夏2 小时前
【设计模式】核心设计模式实战
java·spring boot·设计模式
半旧夜夏3 小时前
【Spring】AOP的核心原理配方
java·spring
qiuiuiu4133 小时前
CPrimer Plus第十六章C预处理器和C库总结2-qsort函数
java·c语言·算法
IT学长编程3 小时前
计算机毕设选题 基于SpringBoot的书店管理系统的设计与实现 网上书店系统 前后端分离 Java毕设项目 毕业设计选题 【附源码+文档报告+安装调试】
java·spring boot·毕业设计·课程设计·前后端分离·网上书店系统·书店管理系统