gpt4 book ai didi

spring-boot - 使用 MyBatis Annotation Spring Boot 检索生成的 ID

转载 作者:行者123 更新时间:2023-12-05 09:11:52 26 4
gpt4 key购买 nike

我正在努力学习 MyBatis。在使用 @Insert 注释插入语句后如何获取自动生成的 ID。

我的代码示例:

@Insert("INSERT INTO user(name, mobile, password) VALUES(#{name}, #{mobile}, #{password})")
@SelectKey(statement = "SELECT LAST_INSERT_ID()", keyProperty = "id", before = false, resultType = Long.class)
Long insertUser(User user);

我想获取生成的 id 作为插入方法的返回值。

最佳答案

@SelectKey 用于遗留驱动程序。
对于最近的驱动程序,您应该使用 useGeneratedKeys
我们有一个 FAQ entry解释如何使用 XML 映射器完成此操作。
加上注释,它看起来如下。

@Insert("INSERT INTO user(name, mobile, password) VALUES(#{name}, #{mobile}, #{password})")
@Options(useGeneratedKeys = true, keyProperty = "id")
int insertUser(User user);

请注意,@Insert 方法返回更新的行数,而不是生成的键。
生成的 key 分配给 keyProperty 指定的参数的属性,即在您的情况下为 User.id

对于某些数据库,您可能还需要指定 keyColumn
如果不行,请在问题中添加数据库、驱动程序和 MyBatis 的版​​本。

关于spring-boot - 使用 MyBatis Annotation Spring Boot 检索生成的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59624465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com