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