JDBC演繹事務處理在Java中的經典教程

2021-06-16 06:13:30 字數 650 閱讀 2242

在第一次建立與資料庫的連線時,在預設情況下,連線是在自動提交模式下的,api中,可以通過呼叫setautocommit(false) 來禁止自動提交事務。然後就可以把多條更新資料庫的sql語句做為乙個事務,在所有操作完成之後,呼叫commit()來進行整體提交。倘若其中一項sql操作失敗,就不會執行commit()方法,而是產生相應的sqlexception,此時就可以捕獲異常**塊中呼叫rollback()方法撤消事務。下面是乙個例子;

比如:有兩張表,乙個記錄使用者帳戶(useraccount),乙個是系統帳(sysaccount),現在有乙個使用者要向系統寄錢買東西,就要此行下面兩條語句:

string sql1 = "update useraccount set monery=monery-1000 where name='username'";

string sql2 = "update sysaccount set monery=monery+1000 where name='sysname'";

但如果第一條執行了而第二條語句執行出錯了就會造成不良後果。這是就可以用手動提交的方式來防止這種事情的發生:主要**

trycatch(sqlexception e)

finally

if(conn!=null)

}

JDBC事務處理

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

JDBC事務處理

原子性 atomicity 組成事務處理的語句形成了乙個邏輯單元,不能只執行其中的一部分。一致性 consistency 在事務處理執行前後,資料庫是一致的 兩個賬戶要麼都變,或者都不變 隔離性 isolcation 乙個事務處理對另乙個事務處理沒有影響。持續性 durability 事務處理的效果...

JDBC的事務處理

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