How to get the insert ID in JDBC?

后端 未结 12 1699
暖寄归人
暖寄归人 2020-11-21 06:09

I want to INSERT a record in a database (which is Microsoft SQL Server in my case) using JDBC in Java. At the same time, I want to obtain the insert ID. How can

12条回答
  •  囚心锁ツ
    2020-11-21 06:37

    It is possible to use it with normal Statement's as well (not just PreparedStatement)

    Statement statement = conn.createStatement();
    int updateCount = statement.executeUpdate("insert into x...)", Statement.RETURN_GENERATED_KEYS);
    try (ResultSet generatedKeys = statement.getGeneratedKeys()) {
      if (generatedKeys.next()) {
        return generatedKeys.getLong(1);
      }
      else {
        throw new SQLException("Creating failed, no ID obtained.");
      }
    }
    

提交回复
热议问题