java *** 作数据库时添加数据后怎么返回其主键并输出

java *** 作数据库时添加数据后怎么返回其主键并输出,第1张

你可以先用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.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9799307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存