JDBCロールバックトランザクション実装方法
JDBCでは以下の手順でトランザクションのロールバックを実施しています。
- まず、データベース接続がトランザクションを開始していることを確認してください。例として、接続の自動コミット属性をfalseに設定することで実現できます。コード例は以下の通りです。
connection.setAutoCommit(false);
- 処理の実行中に異常が発生した場合やトランザクションのロールバックが必要な場合は、接続オブジェクトのrollback()メソッドを呼び出してロールバックを実行できます。以下にサンプルコードを示します。
connection.rollback();
- トランザクション実行に成功した場合、接続オブジェクトのcommit()メソッドを呼び出して、トランザクションをコミットします。サンプルコードは次のとおりです。
connection.commit();
- 最後、トランザクション処理が完了したら、データベース接続の自動コミット属性を true に設定し、以降の処理が正常に動作するようにします。サンプルコードは以下の通りです。
connection.setAutoCommit(true);
以上はJDBCでトランザクションのロールバック操作を実施するステップです。トランザクションのロールバックとコミットにはどちらもtry-catchブロック内で例外処理を行い、異常が発生したときにトランザクションを正常にロールバックできるよう注意する必要があります。