Mybatis 有则更新,无则插入的实现

想插入数据库一条记录,如果这条记录的主键或者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键。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容