Mybatis 使用ON DUPLICATE KEY UPDATE操作数据
Mybatis
对数据进行插入和更新时,Mybatis提供了ON DUPLICATE KEY UPDATE,可实现一条sql语句同时完成插入或更新操作。判断主键,根据主键进行更新或插入操作
具体用法:
<insert id="save" parameterType="EduVideo">
insert into edu_video
(id,
course_id,
chapter_id,
title,
sort,
gmt_create,
gmt_modified)
values
(#{eduVideo.id},
#{eduVideo.courseId},
#{eduVideo.chapterId},
#{eduVideo.title},
#{eduVideo.sort},
now(),
now()
)
ON DUPLICATE KEY UPDATE
title = values(title),
sort = values(sort),
gmt_modified = values(gmt_modified)
</insert>
ON DUPLICATE KEY UPDATE后可自定义需要更新的字段。
当mapper接口中的方法需要获取返回值时,返回值会有所不同。
若是插入一条数据,返回值为1;若是更新一条数据,返回值为2。