如何将MySQL DB中的id解析为变量

时间:2014-08-12 08:07:58

标签: java mysql sql jdbc

是否可以从MySQL表中获取id并且"保存"它变成JDBC上的变量?

在我的程序中,我有一个JTextfield,其中用户提供一张将存储在MySQL数据库中的票证。每次他给出一张票时,我想从我的数据库中获取ID,其中插入了票证而不是打印在teminal上,但是将其解析为变量并在其他类上使用它。我需要其他课程。

有可能吗?

2 个答案:

答案 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