mybatis批量插入返回每条数据的id,返回集合全是最后一条数据的id?(数据库主键自增) 5

mybatis的版本为<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId>... mybatis的版本为
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
展开
 我来答
爱笑的柯南推理
2018-07-22 · TA获得超过6191个赞
知道大有可为答主
回答量:6693
采纳率:65%
帮助的人:1170万
展开全部
sequence就是一个序列,你每次执行 select CASE_SEQ.nextval from dual 的时候都会返回唯一的一个ID号,因此你可以先执行这个select取到这个ID,如果这个时候有多个用户在执行这个操作,那么他们select到的ID绝对跟你的不一样(sequence就是保证这一点的)。然后你就可以用这个ID插入记录,然后再返回这个ID就OK了。 代码: string sql = "Select CASE_SEQ.currval from dual"; OracleConnection conn = DB.getCon(); OracleCommand cmd = conn.CreateCommand(); conn.Open(); string returnID = null; cmd.CommandText = sql; returnID = Convert.ToString(cmd.ExecuteScalar()); //获取ID sql = "insert into PATIENT_T(pid,name) values(returnID,'黎明')"; //将ID插入数据库 cmd.CommandText = sql; cmd.ExecuteNonQuery(); conn.Close(); 结束了,差不多就是这样,楼主自己调试一下就行了,注意ID在数据库中应该是varcahr类型的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式