事務
什麼是事務?
轉賬:1. 給wc賬戶減1000元
2. 給wcxf賬戶加1000元
當給wc賬戶減1000元後,丟擲了異常!這會怎麼樣呢?我相信從此之後,wc再也不敢轉賬了。
使用事務就可以處理這一問題:把多個對資料庫的操作繫結成乙個事務,要麼都成功,要麼都失敗!
事物的特性:acid
*原子性:事務中所有操作是不可再分割的原子單位。事務中所有操作要麼全部執行成功,要麼全部執行失敗。
* 一致性:事務執行後,資料庫狀態與其它業務規則保持一致。如轉賬業務,無論事務執行成功與否,參與轉賬的兩個賬號餘額之和應該是不變的。
* 隔離性:隔離性是指在併發操作中,不同事務之間應該隔離開來,使每個併發中的事務不會相互干擾。
*永續性:一旦事務提交成功,事務中所有的資料操作都必須被持久化到資料庫中,即使提交事務後,資料庫馬上崩潰,在資料庫重啟時,也必須能保證通過某種機制恢復資料。
mysql操作事務
1. 開始事務:start transaction
2. 結束事務:commit//提交事物rollback//事物回滾
(1)事物回滾
(2)事物提交
jdbc事務
1. 開始事務:con.setautocommit(false);
2. 結束事務;con.commit()或con.rollback();
public classjdbc2 catch(exception e) catch(sqlexception e1) finallycatch(exception e)catch(sqlexception e1) //回滾事物
e.printstacktrace();
}finallycatch(ioexception e) //載入驅動
trycatch(classnotfoundexception e) /*** 獲得connection連線
*@return*@throw***ception*/
public static connection getconnection() throw***ception returnconn;
}/*** 關閉所有連線
*@paramrs
*@paramstatement
*@paramconn*/
public static voidcreateclose(resultset rs, preparedstatement statement,
connection conn) catch(exception e) {
e.printstacktrace();
Mysql 對資料庫的操作
mysql 基本概念 mysql檔案系統,用來儲存資料,然後通過sql語句來獲取資料 er模型圖 mysql 免費的小型的資料庫,現在被oracle收購.oracle oracle公司收費的大型的資料庫.sqlserver 微軟公司收費中型的資料庫.db2 ibm公司收費的大型的資料庫.sybase...
對資料進行操作 事務Transaction
事務是對訪問資料庫這一事物的稱呼 事務的四個特性 單位 狀態 過程和結果 1.單位 事務的原子性,事務是資料操作的最小單位,已經不可在分割 2.狀態 事務的一致性,由於原子性,所以操作要麼成功,要麼失敗,而且是保持一致的 3.過程 事務的隔離性,在操作過程中,對資料的本次操作進行隔離,免受其他操作的...
資料庫操作事務IsolationLevel 列舉
成員名稱 說明chaos 無法覆蓋隔離級別更高的事務中的掛起的更改。readcommitted 在正在讀取資料時保持共享鎖,以避免髒讀,但是在事務結束之前可以更改資料,從而導致不可重複的讀取或幻像資料。readuncommitted 可以進行髒讀,意思是說,不發布共享鎖,也不接受獨佔鎖。repeat...