JDBC 之 資料庫事務

2021-09-09 05:46:52 字數 1218 閱讀 6328

原子性(atomicity)原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。

一致性(consistency)事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。

隔離性(isolation)事務的隔離性是指乙個事務的執行不能被其他事務干擾,即乙個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。

永續性(durability)永續性是指乙個事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來的其他操作和資料庫故障不應該對其有任何影響

例子:

/**

* tom 給 jerry 匯款 500 元

* * 關於事務:

* 1. 如果多個操作,每個操作使用的是自己的單獨的連線,則無法保證事務

* 2. 具體步驟 :

* 1). 事務操作開始前 , 開始事務 ,取消 connection 的預設提交行為 : connection.setautocommit(false);

* 2). 如果事務的操作都成功,則提交事務: connection.commit();

* 3).回滾事務: 若出現異常, 則在 catch 塊中回滾事務 : connection.rollback();

* @throws exception

* */

@test

public void testtransaction() throws exception catch (exception e) catch (exception e2)

} finally

// dao dao = new dao();

// string sql = "update user set balance = balance - 500 where id = 1";

// dao.updata(sql);

// sql = "update user set balance = balance + 500 where id = 2";

// dao.updata(sql);

} public void updata(connection connection, string sql, object... args)

preparedstatement.executeupdate();

} catch (exception e) finally

}

JDBC資料庫事務

事務 一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。事務處理 事務操作 保證所有事務都作為乙個工作單元來執行,即使出現了故障,都不能改變這種執行方式。當在乙個事務中執行多個操作時,要麼所有的事務都被提交 commit 那麼這些修改就永久地儲存下來 要麼資料庫管理系統將放棄所作的所有修改,整個事...

JDBC 資料庫事務

事務 一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。事務處理 也稱為事務操作,保證所有事務都作為乙個工作單元來執行,即使出現了故障,都不能改變這種執行方式。當在乙個事務中執行多個操作時,要麼所有的事務都被提交 commit 那麼這些修改就永久的儲存下來 要麼資料庫管理系統將丟棄所作的所有修改,...

JDBC 資料庫事務(5)

jdbc程式中為了讓多個 sql 語句作為乙個事務執行 若此時 connection 沒有被關閉,還可能被重複使用,則需要恢復其自動提交狀態 setautocommit true 尤其是在使用資料庫連線池技術時,執行close 方法前,建議恢復自動提交狀態。案例 使用者aa向使用者bb轉賬100 p...