Mybatis注解方式insert时获取返回的自增主键

本文介绍如何使用MyBatis的@Options注解实现主键自动生成。通过配置useGeneratedKeys属性为true,并指定keyProperty和keyColumn,可以自动将数据库生成的主键值赋给Java对象的相应属性。此方法适用于主键自增场景。

使用@options注解

@Insert("insert into scenario_storage " +
            "(user_id , scenario_name , nodes_name , publish_subscribe_name , test_design_name , type_define_name , upload_url , create_time ,remark)" +
            "values (#{userId} , #{scenarioName} , #{nodesName} , #{publishSubscribeName} , #{testDesignName} , #{typeDefineName} , #{uploadUrl} , #{createTime} , #{remark} )")
    @Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id")
    Integer addScenarioStorage(ScenarioStorage scenarioStorage);

然后调用scenarioStorage.getId()即可

就是这个步骤:

  1. 写SQL,但不要自己插入主键值
  2. 配置@Options(useGeneratedKeys=true, keyProperty=“对象.属性”) 这个的作用是设置是否使用JDBC的getGenereatedKeys()方法获取主键并赋值到keyProperty设置的对象的属性中,说白了就是把自增长的主键值赋值给对象相应的属性
  3. 在插入后,使用对象.主键属性的getXXId()方法 获取主键值
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值