Javaでプリペアドステートメントを使用して自動インクリメントIDを取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-15 04:57:02
オリジナル
898 人が閲覧しました

How to Retrieve Autoincrement ID with Prepared Statements in Java?

Java の準備済みステートメントを使用して自動インクリメント ID を取得する

JDBC では、挿入操作の後に自動生成された主キーを取得することが多くの場合に重要ですアプリケーション。これは通常、createStatement() で RETURN_GENERATED_KEYS フラグを使用して行われます。ただし、プリペアド ステートメントでこのアプローチを使用すると、プリペアド ステートメントはデフォルトで RETURN_GENERATED_KEYS フラグをサポートしていないため、エラーが発生する可能性があります。

ありがたいことに、プリペアド ステートメントを使用して自動生成された ID を取得する解決策があります。 Statement.RETURN_GENERATED_KEYS フラグを prepareStatement() メソッドの 2 番目のパラメーターとして追加すると、この機能を有効にできます。指定したコードを変更する方法は次のとおりです。

String sql = "INSERT INTO table (column1, column2) values(?, ?)";
stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

stmt.executeUpdate();
if (returnLastInsertId) {
   ResultSet rs = stmt.getGeneratedKeys();
   rs.next();
   auto_id = rs.getInt(1);
}
ログイン後にコピー

準備されたステートメントを実行すると、stmt.getGeneratedKeys() メソッドは自動生成された ID を含む ResultSet を返します。これにより、ID を取得し、アプリケーションで必要に応じて使用できるようになります。

以上がJavaでプリペアドステートメントを使用して自動インクリメントIDを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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