import java.sql.*;
/**
* JDBC編程事務控制模型備忘
*
* @author : leizhimin,2008-8-21 14:48:42.<p>
*/ public class JdbcTxText {
public static void main(String[] args) {
test();
}
public static void test() {
Connection conn =
null;
//定義一個回滾點 Savepoint savepoint1 =
null;
try {
//獲取一個資料庫連接 conn = DriverManager.getConnection(
"url",
"user",
"password");
//設置不自動提交,相當於開啟了事務 conn.setAutoCommit(
false);
//設置JDBC事務的級別 conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
//創建一個用於執行靜態 SQL 語句並返回它所生成結果的對象 Statement stmt = conn.createStatement();
//執行連個SQL語句,在同一個事務中 stmt.executeUpdate(
"insert into test values(1,'aaa')");
//定義一個回滾到(保存點)savepoint1,在事務失敗的時候,可以回滾到定義的回滾點 savepoint1 = conn.setSavepoint(
"insert_end");
stmt.executeUpdate(
"update test set name = 'bbb' where id =1");
//提交事務 conn.commit();
}
catch (SQLException e) {