ホームページ > データベース > mysql チュートリアル > JDBC で INSERT 後に自動生成された ID を取得するにはどうすればよいですか?

JDBC で INSERT 後に自動生成された ID を取得するにはどうすればよいですか?

DDD
リリース: 2025-01-23 18:57:10
オリジナル
159 人が閲覧しました

How to Retrieve the Auto-Generated ID After an INSERT in JDBC?

JDBC で自動生成された ID を取得する

このガイドでは、JDBC 環境内で INSERT 操作の後に自動生成された ID を取得する方法を説明します。

手順:

  1. ステートメントを準備します: PreparedStatement を作成し、Statement.RETURN_GENERATED_KEYS を使用して生成されたキーの取得を明示的に有効にします。

    <code class="language-java">PreparedStatement statement = connection.prepareStatement(SQL_INSERT, Statement.RETURN_GENERATED_KEYS);</code>
    ログイン後にコピー
  2. INSERT を実行します。 準備されたステートメントを実行して、データをデータベースに挿入します。

    <code class="language-java">int affectedRows = statement.executeUpdate();</code>
    ログイン後にコピー
  3. 生成されたキーの取得: statement.getGeneratedKeys() を使用して、生成されたキーを含む ResultSet を取得します。 通常、この ResultSet の最初の列には、新しく生成された ID が保持されます。

    <code class="language-java">try (ResultSet generatedKeys = statement.getGeneratedKeys()) {
        if (generatedKeys.next()) {
            user.setId(generatedKeys.getLong(1));
        }
    }</code>
    ログイン後にコピー
  4. 例外処理: 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート