如何用java中 取到作为数据库主键的值,这个主键是通过序列的个变量

在oracle数据库中建立了一个表BM,systemid作为此表的主键,并建立一个序列systemid,然后现在要建立一个web工程,需要再这个web里每新增一个数据,就... 在oracle数据库中建立了一个表BM,systemid作为此表的主键,并建立一个序列systemid,然后现在要建立一个web工程,需要再这个web里 每新增一个数据,就要在数据库里对应的systemid中增加1编号。可我是个新手,不知道如何用java语言取到systemid这个值(systemid这个值是序列systemid中获得的) 展开
 我来答
兔子讲Java
推荐于2017-11-26 · 超过18用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:39.9万
展开全部
Oracle的啊 给你个例子,你自己改下表还有insert语句

public int save(User user) throws SQLException {// 插入数据
int id = 0;// 返回用户ID
String sql = "insert into regist_1 values(regist_1seq.nextval,?,?,?,?,?,?)";
String sql2 = "select regist_1seq.currval from dual";
//sql2就是获取序列自增的值,你把regist_1seq换成你自己的

Connection con = ConnectionUtils.openConnection();
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, user.getUsername());
stmt.setString(2, user.getName());
stmt.setString(3, user.getPassword());
stmt.setInt(4, user.getAge());
stmt.setString(5, user.getSex());
stmt.setString(6, user.getTel());
stmt.executeUpdate();
stmt = con.prepareStatement(sql2);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
id = rs.getInt(1);
System.out.println("save id:" + id + "...");
}
ConnectionUtils.closeResult(rs);
ConnectionUtils.closeStatement(stmt);
ConnectionUtils.closeConnection(con);
return id;
}
不懂可以追问.
liyao120870407
2013-08-15
知道答主
回答量:30
采纳率:0%
帮助的人:12.8万
展开全部
oracle中有sequence ,可以在数据库中执行create sequence seq_systemid start with 1 increment by 1; 这样在程序中你就可以实现自增长了,如在程序中执行sqi语句:insert into bm values(seq_systemid.nextval,...........);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式