SpringBoot+mybatis——mybatis使用注解方式插入数据后获取自增长的主键值

[mybatis用注解方式插入数据后获取自增长的主键值]


自己踩过的坑,查了好久,终于发现解决方法。

亲测有效,你值得拥有

步骤有三:

  1. 写SQL,但不要自己插入主键值
  2. 配置

@Options(useGeneratedKeys=true, keyProperty="对象.属性")

这个的作用是设置是否使用

JDBC的getGenereatedKeys()

方法获取主键并赋值到keyProperty设置的对象的属性中,说白了就是把自增长的主键值赋值给对象相应的属性

  1. 在插入后,使用对象.主键属性的getXXId()方法 获取主键值

示例:

@Insert("INSERT INTO api(component, clientApi, scribeDescribe, clientApiVersion, invokeTimeout, authType, sessionRequire, openType) VALUES(#{api.component}, #{api.clientApi}, #{api.scribeDescribe}, #{api.clientApiVersion}, #{api.invokeTimeout}, #{api.authType}, #{api.sessionRequire}, #{api.openType})")
@Options(useGeneratedKeys = true, keyProperty = "api.apiId")
void add(@Param("api") Api api);

然后调用api.getApiId()即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容