package com.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Savepoint;
import java.sql.Statement;
public class TestTransaction {
public static void main(String[] args) throws SQLException {
Connection conn = null;
Statement stmt = null;
Savepoint sp = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/for117", "root", "admin");
conn.setAutoCommit(false);
stmt = conn.createStatement();
stmt.executeUpdate("update tb_test set number = number*2 where id = 1");
sp = conn.setSavepoint();
stmt.executeUpdate("update tb_test set number = number*2 where id = 2");
int i = 34;
int b = i*2;
if(b>3){
throw new Exception();
}
stmt.executeUpdate("update tb_test set number = number*2 where id = 3");
conn.commit();
}catch (Exception e) {
conn.rollback(sp);
conn.commit();
}
}
}
数据库事务
最新推荐文章于 2016-11-09 23:29:47 发布