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> 展开
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency> 展开
1个回答
展开全部
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类型的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询