MyBatis: 插入一条数据,并返回这条数据的主键id
做开发的时候,经常会出现这样的业务需求:
需要对数据库中的两张表做操作,对第二张表的操作需要第一张表插入、更新操作成功后返回的数据。
如:对会议添加纪要,首先插入会议信息(confInfo), 然后插入对应会议的纪要信息(sumInfo),此时需要刚刚插入的对应的纪要记录的纪要编号(sumId)。
那么如何在插入(insert) 操作后,直接返回对应的数据库字段呢?
Solution:
在对应的SQL标签中加入: useGeneratedKeys=“true” 和 keyProperty=“返回字段”;
即可!
例:
<insert id="saveSummary" useGeneratedKeys="true" keyProperty="sumId" parameterType="dbsystem.sun.domain.Summary">
insert into summary (title, content, updateTime) values (
#{title}, #{content}, now());
</insert>