package jdbc;import javasql;public class JDBCTransaction public static void transaction try ClassforNamecommysqljdbcDriver; catch ClassNotFoundException e ep
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();
}
}
}
原文地址: https://www.cveoy.top/t/topic/fJWa 著作权归作者所有。请勿转载和采集!