原子性(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 ...