Javaを使用して手動でトランザクションをコミットする方法

Javaでは、トランザクションの手動コミットは、以下の手順で実現します。
1. データベース接続オブジェクトを取得します。JDBCまたは接続プールを使用してデータベース接続オブジェクトを取得します。
“`java
Connection connection = DriverManager.getConnection(url, username, password);
“`
2. 自動コミットをfalseに設定します。既定では、JDBC接続はトランザクションを自動的にコミットします。この設定を手動コミットに変更する必要があります。
“`java
connection.setAutoCommit(false);
“`
3. SQL ステートメントを実行します。`Statement` または `PreparedStatement` オブジェクトを使用して、データベース操作を実行します。
“`java
statement.executeUpdate(sql);
“`
4. トランザクションをコミットします。`commit` メソッドを使用して、手動でトランザクションをコミットします。
“`java
connection.commit();
“`
5. 例外を捕捉し、トランザクションをロールバックします。例外が発生した場合は、`catch` ブロックで例外を捕捉し、`rollback` メソッドを呼び出してトランザクションをロールバックします。
“`java
connection.rollback();
“`
6. 接続を閉じます。トランザクションをコミットまたはロールバックした後、データベース接続を閉じます。
“`java
connection.close();
“`
以下に、完全なサンプルを示します。

try {

// 获取数据库连接对象

 

Connection connection = DriverManager.getConnection(url, username, password);

 

// 设置自动提交为false

 

connection.setAutoCommit(false);

 

 

 

// 执行SQL语句

 

Statement statement = connection.createStatement();

 

statement.executeUpdate(sql);

 

 

 

// 提交事务

 

connection.commit();

 

 

 

// 关闭连接

 

connection.close(); } catch (SQLException e) {

 

// 发生异常时回滚事务

 

connection.rollback();

 

e.printStackTrace();

 

// 关闭连接

 

connection.close(); }


手動でトランザクションをコミットする際には、異常が発生した場合に正しくロールバックされ、異常が発生したかどうかに関わらず、データベース接続が確実に閉じられるようにする必要があります。

bannerAds