Jquery中文網 www.afdoqc.live
Jquery中文網 >  腳本編程  >  java  >  正文 JDBC事務級別,請大家多了解了解

JDBC事務級別,請大家多了解了解

發布時間:2019-10-11   編輯:www.afdoqc.live
jquery中文網為您提供JDBC事務級別,請大家多了解了解等資源,歡迎您收藏本站,我們將為您提供最新的JDBC事務級別,請大家多了解了解資源
<script>ec(2);</script>
JDBC事務級別
為了解決與“多個線程請求相同數據”相關的問題,事務之間用鎖相互隔開。多數主流的數據庫支持不同類型的鎖;因此,JDBC API 支持不同類型的事務,它們由 Connection 對象指派或確定。在 JDBC API 中可以獲得下列事務級別:
TRANSACTION_NONE 說明不支持事務。
TRANSACTION_READ_UNCOMMITTED 說明在提交前一個事務可以看到另一個事務的變化。這樣臟讀、不可重復的讀和虛讀都是允許的。
TRANSACTION_READ_COMMITTED 說明讀取未提交的數據是不允許的。這個級別仍然允許不可重復的讀和虛讀產生。
TRANSACTION_REPEATABLE_READ 說明事務保證能夠再次讀取相同的數據而不會失敗,但虛讀仍然會出現。
TRANSACTION_SERIALIZABLE 是最高的事務級別,它防止臟讀、不可重復的讀和虛讀。
您可能想知道,為什么不是所有事務都運行在 TRANSACTION_SERIALIZABLE 模式以保證最高程度的數據完整性呢?問題在于,和處理多線程編程有關的問題相似,事務保護的級別越高,性能損失就越大。
假定您的數據庫和 JDBC 驅動程序支持這個特性,則給定一個 Connection 對象,您可以明確地設置想要的事務級別:
con.setTransactionLevel(TRANSACTION_SERIALIZABLE) ;
您還可以確定當前事務的級別:
if(con.getTransactionLevel() == TRANSACTION_SERIALIZABLE)
  System.out.println("Highest Transaction Level in operation.") ;

您可能感興趣的文章:
Cobar基于MySQL的分布式數據庫服務中間件
BIND9的日志配置詳解
理解郵件正向解析和反向解析
有關php中session的疑惑
學習郵件服務器之動態域名、子域名、二級域名
bind9的日志管理
jquery動態加載select下拉框示例代碼
一例oracle服務無法啟動的原因及解決方法
解析jQuery的三種bind/One/Live事件綁定使用方法
Windows7/Vista/XP黑屏一鍵解決辦法

[關閉]
英格兰足球队