Mybatis在oracle数据库中插入数据后返回自增值ID

Posted ninic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis在oracle数据库中插入数据后返回自增值ID相关的知识,希望对你有一定的参考价值。

1.将id设置成自增序列

CREATE OR REPLACE TRIGGER "DATALIB"."TRIG_USER_ADD"
BEFORE INSERT ON "sys_user" for each row
begin
select SEQ_USER.nextval into :new."user_id" from dual;
end;
ALTER TRIGGER "DATALIB"."TRIG_USER_ADD" ENABLE;

2.mybatis中关于数据库的xml配置文件

<insert id="save" parameterType="io.renren.entity.SysUserEntity" keyProperty="userId" databaseId="oracle">
<selectKey keyProperty="userId" resultType="long" order="BEFORE">
select SEQ_USER.NEXTVAL from dual
</selectKey>
insert into "sys_user"
(
"username",
"password",
"email",
"mobile",
"status",
"create_time"
)
values
(
#{username, jdbcType=VARCHAR},
#{password, jdbcType=VARCHAR},
#{email, jdbcType=VARCHAR},
#{mobile, jdbcType=VARCHAR},
#{status, jdbcType=NUMERIC},
#{createTime, jdbcType=DATE}
)
</insert>

3. 测试代码

SysUserEntity user=new SysUserEntity();
user.setUsername(username);
user.setPassword(passwd);
user.setEmail(email);
user.setMobile(mobile);
user.setStatus(status);
System.out.println(user.getUserId()+"888888888888888888888888");
sysUserService.save(user);

System.out.println(user.getUserId()+"=========================");



































以上是关于Mybatis在oracle数据库中插入数据后返回自增值ID的主要内容,如果未能解决你的问题,请参考以下文章

mybatis插入数据并返回主键(oracle)

mybatis如何获取oracle新插入数据记录的主键?

Mybatis插入数据时 返回主键

Mybatis插入数据时 返回主键

mybatis+oracle 完成插入数据库,并将主键返回的注意事项

mybatis insert 返回主键 的before 和after的区别