JDBC 事務隔離級別

2022-03-06 19:42:29 字數 615 閱讀 3151

先解釋一下:

a:髒讀取:乙個事務讀取了另外乙個並行事務未提交的資料

b:不可重複讀取:乙個事務再次讀取之前的資料時得到的資料不一致,被另外乙個事務修改

c:虛讀:乙個事務重新執行乙個查詢,返回的記錄包含了其他事務提交的新記錄

設定事務的隔離級別:con.settransactionisolation(connection.isolationlevel);

四種隔離級別:

con.settransactionisolation(connection.transaction_read_uncommitted);//最底級別:只保證不會讀到非法資料,上述3個問題有可能發生

con.settransactionisolation(connection.transaction_read_committed); //預設級別:可以防止髒讀

con.settransactionisolation(connection.transaction_repeatable_read);//可以防止髒讀和不可重複讀取

con.settransactionisolation(connection.transaction_serializable); //最高端別:防止上述3種情況,事務序列執行,慎用

JDBC事務隔離級別

如果dbms支援事務處理,它必須有某種途徑來管理兩個事務同時對乙個資料庫進行操作時可能發生的衝突。使用者可指定事務隔離級別,以指明dbms應該花多大精力來解決潛在衝突。例如,當事務更改了某個值而第二個事務卻在該更改被提交或還原前讀取該值時該怎麼辦。假設第乙個事務被還原後,第二個事務所讀取的更改值將是...

JDBC事務隔離級別

如果dbms支援事務處理,它必須有某種途徑來管理兩個事務同時對乙個資料庫進行操作時可能發生的衝突。使用者可指定事務隔離級別,以指明dbms應該花多大精力來解決潛在衝突。例如,當事務更改了某個值而第二個事務卻在該更改被提交或還原前讀取該值時該怎麼辦。假設第乙個事務被還原後,第二個事務所讀取的更改值將是...

JDBC事務隔離級別

如果dbms支援事務處理,它必須有某種途徑來管理兩個事務同時對乙個資料庫進行操作時可能發生的衝突。使用者可指定事務隔離級別,以指明dbms應該花多大精力來解決潛在衝突。例如,當事務更改了某個值而第二個事務卻在該更改被提交或還原前讀取該值時該怎麼辦。假設第乙個事務被還原後,第二個事務所讀取的更改值將是...