想插入数据库一条记录,如果这条记录的主键或者Unique键已存在,则更新这条记录,如果主键或Unique键不存在,则新增这条记录。用Mybatis实现。网上有些方法说用replace into,但是mybatis是不支持的。所以,必须使用ON DUPLICATE KEY UPDATE。
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id" keyColumn="id"
parameterType="com.foreigners.entity.User">
insert INTO
t_user(openId, name, gender, phoneNumber)
VALUES
(#{openId},#{name},#{gender},#{phoneNumber})
ON DUPLICATE KEY UPDATE
name = #{name},
gender = #{gender},
phoneNumber = #{phoneNumber}
</insert>
这段代码里,openId是Unique键。
本文介绍如何使用MyBatis实现Upsert操作,即当记录的主键或Unique键已存在时更新记录,否则新增记录。通过示例代码展示了在t_user表中使用ON DUPLICATE KEY UPDATE语句的具体实现。
5541

被折叠的 条评论
为什么被折叠?



