青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

JDBC對數據庫的事務操作

1  概述:

jdbc的數據庫操作中,一項事務是由一條或是多條表達式所組成的一個不可分割的工作單元。我們通過提交commit()或是回滾rollback()來結束事務的操作。關于事務操作的方法都位于接口java.sql.Connection中。

2  特點:
jdbc中,事務操作缺省是自動提交。也就是說,一條對數據庫的更新表達式代表一項事務操作,操作成功后,系統將自動調用commit()來提交,否則將調用rollback()來回滾。
jdbc中,可以通過調用setAutoCommit(false)來禁止自動提交。之后就可以把多個數據庫操作的表達式作為一個事務,在操作完成后調用commit()來進行整體提交,倘若其中一個表達式操作失敗,都不會執行到commit(),并且將產生響應的異常;此時就可以在異常捕獲時調用rollback()進行回滾。這樣做可以保持多次更新操作后,相關數據的一致性,示例如下:

   try {

conn =

DriverManager.getConnection    

("jdbc:oracle:thin:@host:1521:SID","username","userpwd";

      conn.setAutoCommit(false);//禁止自動提交,設置回滾點

      stmt = conn.createStatement();

stmt.executeUpdate(“alter table …”); //數據庫更新操作1

stmt.executeUpdate(“insert into table …”); //數據庫更新操作2

      conn.commit(); //事務提交

    }catch(Exception ex) {    

        ex.printStackTrace();

        try {

         conn.rollback(); //操作不成功則回滾

         }catch(Exception e) {

e.printStackTrace();

          }

}

      jdbc API支持事務對數據庫的加鎖,并且提供了5種操作支持,2種加鎖密度。

5種支持:

static int TRANSACTION_NONE                = 0;

→禁止事務操作和加鎖。

static  int TRANSACTION_READ_UNCOMMITTED    = 1;

→允許臟數據讀寫(dirty reads)、重復讀寫(repeatable reads)和影象讀寫(phntom

reads

static  int TRANSACTION_READ_COMMITTED      = 2;

→禁止臟數據讀寫(dirty reads),允許重復讀寫(repeatable reads)和影象讀寫(phntom reads

static  int TRANSACTION_REPEATABLE_READ     = 4;

→禁止臟數據讀寫(dirty reads)和重復讀寫(repeatable reads),允許影象讀寫(phntom reads

static  int TRANSACTION_SERIALIZABLE        = 8;

→禁止臟數據讀寫(dirty reads)、重復讀寫(repeatable reads)和允許影象讀寫(phntom reads)

2種密度:

最后一項為表加鎖,其余34項為行加鎖。

     臟數據讀寫(dirty reads):當一個事務修改了某一數據行的值而未提交時,另一事務讀取了此行值。倘若前一事務發生了回滾,則后一事務將得到一個無效的值(臟數據)。

     重復讀寫(repeatable reads):當一個事務在讀取某一數據行時,另一事務同時在修改此數據行。則前一事務在重復讀取此行時將得到一個不一致的值。

     影象讀寫(phantomreads):當一個事務在某一表中進行數據查詢時,另一事務恰好插入了滿足了查詢條件的數據行。則前一事務在重復讀取滿足條件的值時,將得到一個額外的影象值。

    Jdbc根據數據庫提供的缺省值來設置事務支持及其加鎖,當然,也可以手工設置:

   setTransactionIsolationTRANSACTION_READ_UNCOMMITTED;

可以查看數據庫的當前設置:

   getTransactionIsolation()

需要注意的是,在進行受動設置時,數據庫及其驅動程序必須得支持相應的事務操作操作才行。

      上述設置隨著值的增加,其事務的獨立性增加,更能有效的防止事務操作之間的沖突;同時也增加了加鎖的開銷,降低了用戶之間訪問數據庫的并發性,程序的運行效率也回隨之降低。因此得平衡程序運行效率和數據一致性之間的沖突。一般來說,對于只涉及到數據庫的查詢操作時,可以采用TRANSACTION_READ_UNCOMMITTED方式;對于數據查詢遠多于更新的操作,可以采用TRANSACTION_READ_COMMITTED方式;對于更新操作較多的,可以采用TRANSACTION_REPEATABLE_READ;在數據一致性要求更高的場合再考慮最后一項,由于涉及到表加鎖,因此會對程序運行效率產生較大的影響。

另外,在oracle中數據庫驅動對事務處理的缺省值是TRANSACTION_NONE,即不支持事務操作,所以需要在程序中手動進行設置。

3  小結

jdbc提供的對數據庫事務操作的支持是比較完整的,通過事務操作可以提高程序的運行效率,保持數據的一致性

 

posted on 2009-08-11 13:02 肥仔 閱讀(130) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美亚洲免费| 亚洲精品一区二区三区福利| 亚洲福利久久| 好吊一区二区三区| 国内精品久久久久久影视8| 国产亚洲欧美中文| 伊人成人网在线看| 亚洲国产精品一区制服丝袜 | 国产精品久久久久aaaa樱花 | 欧美另类视频在线| 欧美体内谢she精2性欧美| 国产精品久久波多野结衣| 国产日本亚洲高清| 亚洲国产99精品国自产| 亚洲一区日韩在线| 美女视频黄a大片欧美| 亚洲精品乱码视频| 日韩网站在线看片你懂的| 香蕉精品999视频一区二区| 蜜臀久久久99精品久久久久久| 欧美日韩一级视频| 黑人极品videos精品欧美裸| 久久人人九九| 欧美日韩精品免费观看视频完整| 国产精品久久久久久久一区探花 | 正在播放欧美视频| 久久久久久亚洲综合影院红桃| 亚洲精品一级| 久久久综合网| 国产乱码精品一区二区三区五月婷 | 亚洲欧美日韩精品久久| 免费黄网站欧美| 一区二区三区四区五区精品| 久色成人在线| 亚洲少妇在线| 欧美不卡一区| 在线观看成人av| 久久国产精品久久久| 99国产精品国产精品毛片| 久久综合伊人77777蜜臀| 国产精品美女久久久久av超清 | 欧美福利在线| 久久精品国产69国产精品亚洲| 国产精品av久久久久久麻豆网| 亚洲黄一区二区三区| 久久久久久色| 美日韩精品免费| 久久国产免费看| 国产一区二区三区久久悠悠色av | 亚洲精品影院在线观看| 久久久综合视频| 一区二区三区鲁丝不卡| 欧美阿v一级看视频| 亚洲欧洲精品一区二区三区不卡| 久热精品在线| 久久久久久久一区| 国产日韩精品在线观看| 欧美一区二区观看视频| 亚洲作爱视频| 亚洲毛片在线观看| 欧美成人精品在线观看| 国产综合一区二区| 欧美一区二区黄| 国产精品99久久久久久久女警| 欧美午夜电影一区| 亚洲视频在线观看一区| 艳女tv在线观看国产一区| 欧美小视频在线| 国内精品模特av私拍在线观看| 午夜免费电影一区在线观看| 一区二区高清| 国产九九精品视频| 久久成人18免费网站| 久久精品欧洲| 亚洲精品在线三区| 99亚洲视频| 亚洲综合电影| 国产欧美一区二区精品性色| 久久久之久亚州精品露出| 麻豆精品精品国产自在97香蕉| 日韩亚洲精品在线| 亚洲女女做受ⅹxx高潮| 黄色另类av| 欧美激情第9页| 欧美看片网站| 欧美一级淫片播放口| 欧美在线视频二区| 国产在线精品一区二区中文 | 亚洲在线免费观看| 一区精品在线播放| 亚洲免费av片| 国产伦精品一区二区三区免费| 欧美在线观看天堂一区二区三区| 久久精品一本| 这里是久久伊人| 久久成人免费视频| 99在线视频精品| 欧美一级大片在线免费观看| 激情欧美亚洲| 亚洲六月丁香色婷婷综合久久| 欧美色一级片| 久久久久久香蕉网| 欧美午夜国产| 欧美激情1区2区| 国产亚洲精品久久久久婷婷瑜伽| 91久久精品美女高潮| 国产精品午夜春色av| 欧美国产精品一区| 亚洲视频在线免费观看| 亚洲高清视频在线观看| 亚洲一区二区三区视频| 亚洲欧洲日夜超级视频| 欧美一区二区精品| 一区二区三区产品免费精品久久75 | 欧美国产先锋| 久久免费高清视频| 国产精品久久波多野结衣| 亚洲国产精品va在线看黑人| 国产日韩在线视频| 亚洲一区二区精品在线| 中日韩高清电影网| 欧美激情一区二区三区全黄| 欧美成人一区二区三区在线观看 | 欧美色精品在线视频| 91久久午夜| 亚洲乱码精品一二三四区日韩在线| 久久精品欧美日韩| 精品91视频| 欧美中文字幕久久| 欧美一级精品大片| 国产精品一区二区久久精品 | 美女免费视频一区| 国产在线精品二区| 久久精品国产综合精品| 久久久久9999亚洲精品| 国产一区二区三区观看| 久久精品视频99| 免费在线视频一区| 亚洲高清三级视频| 欧美另类99xxxxx| 日韩午夜中文字幕| 亚洲免费视频中文字幕| 国产精品久久久久9999吃药| 亚洲一区欧美二区| 久久九九电影| 亚洲福利在线视频| 免费h精品视频在线播放| 欧美黄色小视频| 一区二区欧美视频| 国产九区一区在线| 久久欧美肥婆一二区| 亚洲承认在线| 亚洲视频中文字幕| 国产目拍亚洲精品99久久精品| 欧美一区二区女人| 免费亚洲电影在线| 99riav久久精品riav| 国产精品区一区| 久久在线免费视频| 亚洲九九爱视频| 欧美在线日韩精品| 亚洲嫩草精品久久| 美女啪啪无遮挡免费久久网站| 最新日韩在线| 国产精品视频专区| 麻豆精品一区二区av白丝在线| 亚洲精品国精品久久99热| 欧美一区二区三区久久精品| 亚洲国产99| 国产女人aaa级久久久级| 麻豆精品在线视频| 亚洲欧美区自拍先锋| 亚洲第一精品久久忘忧草社区| 亚洲调教视频在线观看| 国语对白精品一区二区| 欧美午夜理伦三级在线观看| 久久精品视频在线观看| 亚洲精品免费观看| 久久免费精品视频| 一区二区三区精密机械公司| 国产午夜精品理论片a级探花 | 国产综合色产在线精品| 欧美日韩第一区| 久久综合久色欧美综合狠狠| 亚洲少妇在线| 日韩视频在线观看一区二区| 欧美69视频| 欧美自拍偷拍| 亚洲欧美清纯在线制服| 亚洲免费观看高清完整版在线观看| 国产日韩一区二区三区在线| 欧美日韩一区二区三区视频| 免费观看久久久4p| 久久精品免费电影| 久久成人免费日本黄色| 亚洲欧美精品中文字幕在线| 99精品视频免费观看| 亚洲色图在线视频| 亚洲狠狠婷婷| 亚洲电影免费观看高清|