如何使用MyBatis获取Oracle中的最后一个插入ID?


问题内容

我正在向Oracle表中插入一些数据,并且需要检索id插入行的。表示id是通过序列生成的,然后通过触发器插入到表中。

现在,我知道在使用时有几种方法来获取插入行的ID
JDBC,但是由于我正在MyBatis执行INSERT命令,因此似乎无法弄清楚在插入数据后如何获取ID。任何建议将不胜感激。


问题答案:

这样的事情应该工作

class User {
  int userId
  ...
}

<insert id="addUser" useGeneratedKeys="true" keyColumn="user_id" keyProperty="userId">
  INSERT INTO user(login, name,...) VALUES(#{login}, #{name},...
</insert>