是否可以从MySQL表中获取id
并且"保存"它变成JDBC
上的变量?
在我的程序中,我有一个JTextfield
,其中用户提供一张将存储在MySQL数据库中的票证。每次他给出一张票时,我想从我的数据库中获取ID,其中插入了票证而不是打印在teminal上,但是将其解析为变量并在其他类上使用它。我需要其他课程。
有可能吗?
答案 0 :(得分:1)
这样的东西?
statement.executeUpdate();
ResultSet generatedKeys = statement.getGeneratedKeys();
long generatedId= 0L;
if (generatedKeys.next()) {
generatedId = generatedKeys.getLong(1);// here is your generated Id ,
}
答案 1 :(得分:1)
那样的东西?
PreparedStatement st;
st = con.prepareStatement("SQL STATAMENT", "HERE COLUMN NAME FROM TABLE") VALUES(?)",Statement.RETURN_GENERATED_KEYS);
st.setString(1,"Binded String Veriable");
st.executeUpdate();
ResultSet rs = st.executeQuery("select last_insert_id() as id from "HERE TABLE NAME"");
if(rs.next()){
int lastId = Integer.parseInt(rs.getString("id"));
使用PrpearedStatment来防止SQL注入,例如:
st = con.prepareStatement("INSERT INTO component(user) VALUES(?)", Statement.RETURN_GENERATED_KEYS )
st.setString(1,username)
您可以了解last_insert_id()
的工作原理:JDBC LAST INSER ID AND OTHER