为了账号安全,请及时绑定邮箱和手机立即绑定

如下,请问mybatis该如何获取oracle新插入数据记录的主键?

如下,请问mybatis该如何获取oracle新插入数据记录的主键?

qq_花开花谢_0 2022-06-02 13:09:47
mybatis使用oracle插入一条数据成功后,如何抓取该条记录的主键(改主键是:sequence机制实现的)。注意并发性问题,如果是获取最后一个seq,那这个有并发性问题。
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

<insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">
insert into user(userName,password,comment)
values(#{userName},#{password},#{comment})
</insert>

User user = new User();
user.setUserName("chenzhou");
user.setPassword("xxxx");
user.setComment("测试插入数据返回主键功能");

System.out.println("插入前主键为:"+user.getUserId());
userDao.insertAndGetId(user);//插入操作
System.out.println("插入后主键为:"+user.getUserId());
User user = new User();
user.setUserName("chenzhou");
user.setPassword("xxxx");
user.setComment("测试插入数据返回主键功能");

System.out.println("插入前主键为:"+user.getUserId());
userDao.insertAndGetId(user);//插入操作
System.out.println("插入后主键为:"+user.getUserId());

输出:

插入前主键为:0
插入后主键为:15


查看完整回答
反对 回复 2022-06-06
  • 1 回答
  • 0 关注
  • 224 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信