Пример транзакции Java: как выполнять транзакции базы данных на Java с использованием JDBC

Вот пример транзакции Java:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class TransactionExample {
    public static void main(String[] args) {
        // Database connection parameters
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String username = "myuser";
        String password = "mypassword";
        // SQL statements
        String debitSQL = "UPDATE accounts SET balance = balance - 100 WHERE account_number = 'A001'";
        String creditSQL = "UPDATE accounts SET balance = balance + 100 WHERE account_number = 'A002'";
        Connection connection = null;
        Statement statement = null;
        try {
            // Create connection
            connection = DriverManager.getConnection(url, username, password);
            connection.setAutoCommit(false); // Disable auto-commit
            // Create statement
            statement = connection.createStatement();
            // Execute debit SQL
            statement.executeUpdate(debitSQL);
            // Execute credit SQL
            statement.executeUpdate(creditSQL);
            // Commit the transaction
            connection.commit();
            System.out.println("Transaction committed successfully.");
        } catch (SQLException e) {
            // Rollback the transaction in case of any exception
            try {
                if (connection != null) {
                    connection.rollback();
                    System.out.println("Transaction rolled back successfully.");
                }
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
            e.printStackTrace();
        } finally {
            // Close statement and connection
            try {
                if (statement != null) {
                    statement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

Этот пример демонстрирует простую транзакцию на Java с использованием JDBC (подключение к базе данных Java). Он подключается к базе данных MySQL, дебетует 100 долларов США со счета A001 и зачисляет 100 долларов США на счет A002. Транзакция заключена в блок try-catch для обработки любых исключений. Если возникает исключение, транзакция откатывается; в противном случае оно фиксируется.