JDBC中事務的使用

2021-09-07 09:57:52 字數 1303 閱讀 6399

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

其中,銀行轉賬這一事例,最能說明,使用事務的重要性了。

update

from account set

money

= money

-100

where name =

『a』;

update

from account set

money

= money

+100

where name = 『b』;

因為這時,兩個賬戶的增減變化是在一起執行的。現實生活中這種類似於同步通訊的例子還有很多,這裡,不再贅述。

當然,對於事務的編寫,也是要遵守一定的順序的:

首先,設定事務的提交方式為非自動提交:

conn.setautocommit(false);

接下來,.將需要新增事務的**放入try,catch塊中。

然後,.在try塊內新增事務的提交操作,表示操作無異常,提交事務。

conn.commit();

尤其不要忘記,.在catch塊內新增回滾事務,表示操作出現異常,撤銷事務:

conn.rollback();

最後,設定事務提交方式為自動提交:

conn.setautocommit(true);

這樣,通過簡單的幾步,我們就可以完成對事務處理的編寫了。

例:定義了乙個事務方法並在方法內實現了語句之間的一致性操作

connection con =null

;statement st=null

;resultset rs=null

;preparedstatement ps=null

;publicvoid starttransaction()

catch

(sqlexception e)

catch

(sqlexception e1)

e.printstacktrace();

}finally

catch

(sqlexception e)

dbcmanager.release(rs, ps, con);

}}

啦啦啦

JDBC中事務的使用

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

JDBC中事務的使用

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

JDBC中事務的使用

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