JDBC で自動生成された ID を取得する
このガイドでは、JDBC 環境内で INSERT 操作の後に自動生成された ID を取得する方法を説明します。
手順:
ステートメントを準備します: PreparedStatement
を作成し、Statement.RETURN_GENERATED_KEYS
を使用して生成されたキーの取得を明示的に有効にします。
<code class="language-java">PreparedStatement statement = connection.prepareStatement(SQL_INSERT, Statement.RETURN_GENERATED_KEYS);</code>
INSERT を実行します。 準備されたステートメントを実行して、データをデータベースに挿入します。
<code class="language-java">int affectedRows = statement.executeUpdate();</code>
生成されたキーの取得: statement.getGeneratedKeys()
を使用して、生成されたキーを含む ResultSet
を取得します。 通常、この ResultSet
の最初の列には、新しく生成された ID が保持されます。
<code class="language-java">try (ResultSet generatedKeys = statement.getGeneratedKeys()) { if (generatedKeys.next()) { user.setId(generatedKeys.getLong(1)); } }</code>
例外処理: JDBC コードを try-catch
ブロックでラップして、潜在的な SQLExceptions
.
<code class="language-java">try { // JDBC code from steps 1-3 } catch (SQLException e) { // Handle the exception appropriately (e.g., log the error, throw a custom exception) }</code>
重要な考慮事項:
Statement.getGeneratedKeys()
の動作はデータベースおよび JDBC ドライバーに固有である可能性があります。 ドライバーがこの機能をサポートしていること、およびデータベースが ID を自動生成するように構成されていることを確認してください。
以上がJDBC で INSERT 後に自動生成された ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。