JDBCトランザクションのロールバック方法【Javaサンプルコード付き】
JDBCでは、トランザクションをロールバックするには、Connectionオブジェクトのrollback()メソッドを使用します。具体的な手順は以下の通りです。
- 最初に、Connectionオブジェクトを作成する際に、自動コミットがfalseに設定されていることを確認してください。つまり、connection.setAutoCommit(false)を設定してください。
 - SQL文を実行する前にトランザクションを開始する必要があります。connection.setAutoCommit(false)を使用して自動コミットを無効にすることができます。
 - 異常が発生した場合やトランザクションをロールバックする必要がある場合は、connection.rollback()メソッドを呼び出してください。
 - 必要であれば、手動でトランザクションをコミットするためにconnection.commit()メソッドを呼び出すことができます。
 - 最後に、Connectionオブジェクトを閉じる際には、connection.setAutoCommit(true)を呼び出して自動コミットをtrueに設定することを忘れずに。
 
以下はサンプルコードです:
// 创建Connection对象
Connection connection = DriverManager.getConnection(url, username, password);
// 关闭自动提交
connection.setAutoCommit(false);
// 开启事务
try {
    // 执行SQL语句
    // 如果出现异常,可以调用connection.rollback()进行回滚
    // connection.rollback();
    // 提交事务
    connection.commit();
} catch (SQLException e) {
    // 出现异常时回滚事务
    connection.rollback();
    e.printStackTrace();
} finally {
    // 关闭Connection对象时,将自动提交设置回true
    connection.setAutoCommit(true);
    connection.close();
}