Mybatis保存并返回自增主键

本文介绍如何在Mybatis中配置保存数据时返回自增主键。通过在映射配置文件中设置`useGeneratedKeys="true"`和`keyProperty="id"`,保存成功后,实体类实例将被更新为主键值填充的新数据,方便在业务逻辑层直接使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在程序开发过程中,当保存数据时需要获取保存的数据进行处理或者返回,这时就需要将数据保存完后再返回(填入自动生成的主键)。

配置文件中的代码:

  <!--添加记录,并返回保存的记录 -->
  <insert id="saveAndReturn" parameterType="GreetingcardShareCardView" useGeneratedKeys="true" keyProperty="id">
    INSERT INTO `greetingcard_share_card_view` (`shareId`, `pig`, `updateTime`, `createTime`)
    VALUES (#{shareId}, #{pig}, NOW(), NOW());
  </insert>

在mybatis的映射配置文件中,设置如下属性值parameterType=“GreetingcardShareCardView” :保存的实体类
useGeneratedKeys=“true” :设置主键
keyProperty=“id”:主键

Java映射层代码

//repo层
void saveAndReturn(GreetingcardShareCardView greetingcardShareCardView);

保存成功之后,会更新传递的实体类实例,此时实例就是有主键值的新数据,可以在业务逻辑层直接使用
Java业务逻辑层:

GreetingcardShareCardView greetingcardShareCardView = new GreetingcardShareCardView();
greetingcardShareCardView.setPig(pig);
greetingcardShareCardView.setShareId(greetingcardShareCard.getId());
//保存
greetingcardShareCardViewImpl.saveAndReturn(greetingcardShareCardView);
//获取保存后的主键
Long id = greetingcardShareCardView.getId();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值