import java.sql.*;

public class JDBCTransaction {

public static void transaction(){
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

    Connection conn = null;
    PreparedStatement ps = null;
    /**********  Begin   **********/
    //连接数据库并开启事务
    try {
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
        conn.setAutoCommit(false); //开启事务

        ps = conn.prepareStatement("INSERT INTO users (name, age) VALUES (?, ?)");
        ps.setString(1, "Alice");
        ps.setInt(2, 20);
        ps.executeUpdate();

        ps.setString(1, "Bob");
        ps.setInt(2, 25);
        ps.executeUpdate();

        conn.commit(); //提交事务
    } catch (SQLException e) {
        try {
            //事务回滚
            if (conn != null) {
                conn.rollback();
            }
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
    /**********  End   **********/
    finally {
        try {
            if(ps!=null)
                ps.close();
            if (conn != null)
                conn.close();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
}
package jdbc;import javasql;public class JDBCTransaction public static void transaction try ClassforNamecommysqljdbcDriver; catch ClassNotFoundException e ep

原文地址: https://www.cveoy.top/t/topic/fJWa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录