你可以先用sql语句查询出数据库的结构,就可以知道那个字段是主键。如果你插入的数据不包含主键,那么主键就是由数据库生成的,比如是自增序列或uuid,这时候需要从数据库中读取出来,你可以用刚才插入的数据作为条件查询,同时选择只取一条记录,当然这种方式也不是很可靠,尤其是高并发下;如果插入数据包含主键,那么返回值就在你插入数据的对应位置。
Oracle的啊 给你个例子,你自己改下表还有insert语句
public int save(User user) throws SQLException {// 插入数据
int id = 0;// 返回用户ID
String sql = "insert into regist_1 values(regist_1seqnextval,,,,,,)";
String sql2 = "select regist_1seqcurrval from dual";
//sql2就是获取序列自增的值,你把regist_1seq换成你自己的
Connection con = ConnectionUtilsopenConnection();
PreparedStatement stmt = conprepareStatement(sql);
stmtsetString(1, usergetUsername());
stmtsetString(2, usergetName());
stmtsetString(3, usergetPassword());
stmtsetInt(4, usergetAge());
stmtsetString(5, usergetSex());
stmtsetString(6, usergetTel());
stmtexecuteUpdate();
stmt = conprepareStatement(sql2);
ResultSet rs = stmtexecuteQuery();
if (rsnext()) {
id = rsgetInt(1);
Systemoutprintln("save id:" + id + "");
}
ConnectionUtilscloseResult(rs);
ConnectionUtilscloseStatement(stmt);
ConnectionUtilscloseConnection(con);
return id;
}
不懂可以追问
如果主键值是
自增字段就可以
insert
Select
@@identity
insert
into
userInfo
(loginName,loginPass,blance)
values('1','123',23)
Select
@@identity
这样些sql语句就可以了
求满意
以上就是关于java *** 作数据库时添加数据后怎么返回其主键并输出全部的内容,包括:java *** 作数据库时添加数据后怎么返回其主键并输出、如何用java中 取到作为数据库主键的值,这个主键是通过序列的个变量、java中如何获得自增长主键表中新插入行的主键 数据库是sql server 2000.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)