java - 如何在带有注释的mybatis和oracle中插入时返回ID

标签 java oracle annotations mybatis

我正在用 Java 尝试以下操作

@Insert("INSERT INTO USERS (ID,NAME,AGE) VALUES(USER_SEQ.NEXTVAL,#{name},#{age})")
@Options(useGeneratedKeys=true, keyProperty="ID", keyColumn="ID")
public int insertUsers(User userBean);

它应该返回新生成的 ID,但它总是返回“1”,即使它以正确的方式插入到表中也是如此。

谁能试过这个“使用 oracle 在 MyBatis(注解)中获取返回或插入 ID”

最佳答案

阅读MyBatis Documentation .

The keyProperty is the field that MyBatis will set the key into by getGeneratedKeys, or by a selectKey child element of the insert statement.

因此,给定一个带有 get 和 set 方法的字段“id”的 Pojo。运行带有 Mapper 类的插入语句后,将使用生成的键值设置 pojo 上的 id 字段。

关于java - 如何在带有注释的mybatis和oracle中插入时返回ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7710759/

相关文章:

java - ExoPlayer切换媒体源不黑屏

java - FireBase Storage getDownloadUrl()。在 continueWithTask 方法中出现错误

c# - 这个特定的别名 SQL 列是否存在问题?

sql - 甲骨文 : Sort a list on second word in SQL Query?

java - 使用 JDT 将注释附加到类

java - 如何查找哪个 java bean 属性具有已知注释

java - 如何使用 Apache FileFilterUtils 排除特定文件?

java - 这种代码增强或实践称为什么? (null == conn) 相对于 (conn == null)

oracle - "order by"子句 : Oracle vs. PostgreSQL 中的不同行为

java - 带注释的私有(private)类属性的容器注入(inject)如何在 java 中工作?