JDBC事務處理

2021-07-27 10:29:24 字數 861 閱讀 6616

原子性(atomicity):組成事務處理的語句形成了乙個邏輯單元,不能只執行其中的一部分。 

一致性(consistency):在事務處理執行前後,資料庫是一致的(兩個賬戶要麼都變,或者都不變)。 

隔離性(isolcation):乙個事務處理對另乙個事務處理沒有影響。 

持續性(durability):事務處理的效果能夠被永久儲存下來 。

connection.setautocommit(false);//開啟事務。

connection.commit();//提交事務。

connection.rollback();//回滾事務。

例子:

public class txtest

static void test() throws sqlexception

if (money > 400)

throw new runtimeexception("已經超過最大值!");

sql = "update user set money=money+10 where id=2";

st.executeupdate(sql);

conn.commit();//2、提交事務

} catch (sqlexception e) finally

}}

當money大於400時候超過最大值,丟擲異常,conn.rollback();  2條sql都會回滾不會執行。

適用於多條sql必須都執行才有效;

JDBC事務處理

當jdbc程式向資料庫獲得乙個connection物件時,預設情況下這個connection物件會自動向資料庫提交在它上面傳送的sql語句。若想關閉這種預設提交方式,讓多條sql在乙個事務中執行,並且保證這些語句是在同一時間共同執行的時,我們就應該為這多條語句定義乙個事務。其中,銀行轉賬這一事例,最...

JDBC的事務處理

jdbc的事務處理 事務,也是資料庫事務,指的是作為單個邏輯工作單元執行的一系列操作。正常的情況下,操作應該順利進行,與操作相關的所有資料庫資訊也成功地更新 但是,如果在這一系列過程中任何乙個環節出了差錯,導致操作失敗了,資料庫中所有資訊都必須保持操作前的狀態不變。否則,資料庫的資訊將會一片混亂而不...

JDBC之事務處理

try catch 首先開啟事務,然後執行dml操作,如果所有的dml操作都正確執行,則使用commit提交事務 如果有的dml操作不能正確執行,則捕獲該異常,跳過commit語句,在catch語句塊中使用rollback回滾事務。public class test catch exception ...