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

 我来答
汲傲冬能莞
2019-11-29 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:953万
展开全部
insert
into
user(userName,password,comment)
values(#{userName},#{password},#{comment})
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
弘孤兰郯黛
2019-01-31 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:584万
展开全部
因为cursor(游标)的作用是逐行处理数据直至游标结束,
而楼主这段代码在每次抽取完一行后,立即更新fund_lanmu字段,直至游标结束,所以,楼主的testfund表中fund_lanmu字段最后呈现结果为楼主设计的游标最后抽取的那一行。
若楼主的意思是根据每行fund_createtime值不同,设定每行的fund_lanmu,
需要楼主确定”fund_createtime“是属于testfund表中的某一字段还是别的什么,否则,不能准确给出需要修改的sql语句,同时,需要楼主确认是否"根据每行fund_createtime值不同,设定每行的fund_lanmu",谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式