【发布时间】:2021-02-18 01:44:12
【问题描述】:
向oracle DB插入新行后尝试获取主ID
<insert id="createActivityLog" parameterType="ActivityLog" >
<selectKey keyProperty="id" resultType="java.lang.Integer" order="BEFORE">
select ACTIVITY_LOG_SEQ.nextval as id from dual
</selectKey>
insert into ACTIVITY_LOG (
activity_log_id,
notes,
details )
values (
#{id,jdbcType=NUMERIC},
#{notes,jdbcType=VARCHAR},
#{details,jdbcType=VARCHAR}
)
这里是java调用
Integer myId=(Integer) activityLogDao.createActivityLog(alog);
新的数据/行可以插入到数据库中,没有正确的主键/ID 问题。但是 myID 总是返回为 1(应该是 8971)。我怎样才能得到正确的值。提前致谢。
版本:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
【问题讨论】:
标签: java sql spring oracle mybatis