JDBC 中事務的使用

2021-08-19 19:13:22 字數 1171 閱讀 3340

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

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

update from account set money=money-100where name=『a』;

update from account set money=money+100 wherename=『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;

public

void

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在乙個事務中執行,並且保證這些語句是在同一時間共同執行的時,我們就應該為這多條語句定義乙個事務。其中,銀行轉賬這一事例,最...