成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JDBC事務處理機制探秘

開發 后端
本文向您介紹JDBC事務處理機制,作者列舉了兩種JDBC事務處理機制,包括JavaBean中使用JDBC事務處理和SessionBean中的JTA事務。

Java中的事務處理

一般情況下,J2EE應用服務器支持JDBC事務、JTA(Java Transaction API)事務、容器管理事務。一般情況下,***不要在程序中同時使用上述三種事務類型,比如在JTA事務中嵌套JDBC事務。第二方面,事務要在盡可能短的時間內完成,不要在不同方法中實現事務的使用。下面我們列舉兩種JDBC事務處理方式。

1、JavaBean中使用JDBC事務處理

在JDBC中怎樣將多個SQL語句組合成一個事務呢?在JDBC中,打開一個連接對象Connection時,缺省是auto-commit模式,每個SQL語句都被當作一個事務,即每次執行一個語句,都會自動的得到事務確認。為了能將多個SQL語句組合成一個事務,要將auto-commit模式屏蔽掉。在auto-commit模式屏蔽掉之后,如果不調用commit()方法,SQL語句不會得到JDBC事務處理確認。在最近一次commit()方法調用之后的所有SQL會在方法commit()調用時得到確認。

  1. public int delete(int sID) {   
  2.  dbc = new DataBaseConnection();   
  3.  Connection con = dbc.getConnection();   
  4.  try {   
  5.   con.setAutoCommit(false);// 更改JDBC事務的默認提交方式   
  6.   dbc.executeUpdate("delete from bylaw where ID=" + sID);   
  7.   dbc.executeUpdate("delete from bylaw _content where ID=" + sID);   
  8.   dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID);   
  9.   con.commit();//提交JDBC事務   
  10.   con.setAutoCommit(true);// 恢復JDBC事務的默認提交方式   
  11.   dbc.close();   
  12.   return 1;   
  13.  }   
  14.  catch (Exception exc) {   
  15.   con.rollBack();//回滾JDBC事務   
  16.   exc.printStackTrace();   
  17.   dbc.close();   
  18.   return -1;   
  19.  }   
  20. }  

2、SessionBean中的JTA事務

JTA 是事務服務的 J2EE 解決方案。本質上,它是描述事務接口(比如 UserTransaction 接口,開發人員直接使用該接口或者通過 J2EE 容器使用該接口來確保業務邏輯能夠可靠地運行)的 J2EE 模型的一部分。JTA 具有的三個主要的接口分別是 UserTransaction 接口、TransactionManager 接口和 Transaction 接口。這些接口共享公共的事務操作,例如 commit() 和 rollback(), 但是也包含特殊的事務操作,例如 suspend(),resume() 和 enlist(),它們只出現在特定的接口上,以便在實現中允許一定程度的訪問控制。例如,UserTransaction 能夠執行事務劃分和基本的事務操作,而 TransactionManager 能夠執行上下文管理。

應用程序可以調用UserTransaction.begin()方法開始一個事務,該JDBC事務處理與應用程序正在其中運行的當前線程相關聯。底層的事務管理器實際處理線程與事務之間的關聯。UserTransaction.commit()方法終止與當前線程關聯的事務。UserTransaction.rollback()方法將放棄與當前線程關聯的當前事務。

  1. public int delete(int sID) {   
  2.  DataBaseConnection dbc = null;   
  3.  dbc = new DataBaseConnection();   
  4.  dbc.getConnection();   
  5.  UserTransaction transaction = sessionContext.getUserTransaction();//獲得JTA事務   
  6.  try {   
  7.   transaction.begin(); //開始JTA事務   
  8.   dbc.executeUpdate("delete from bylaw where ID=" + sID);   
  9.   dbc.executeUpdate("delete from bylaw _content where ID=" + sID);   
  10.   dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID);   
  11.   transaction.commit(); //提交JTA事務   
  12.   dbc.close();   
  13.   return 1;   
  14.  }   
  15.  catch (Exception exc) {   
  16.   try {   
  17.    transaction.rollback();//JTA事務回滾   
  18.   }   
  19.   catch (Exception ex) {   
  20.    //JTA事務回滾出錯處理   
  21.    ex.printStackTrace();   
  22.   }   
  23.   exc.printStackTrace();   
  24.   dbc.close();   
  25.   return -1;   
  26.  }   
  27. }  

 

【編輯推薦】

  1. 使用JDBC的五個精華功能
  2. Tomcat5+MySQL JDBC連接池配置
  3. 在Weblogic中實現JDBC的功能
  4. 詳解JDBC與Hibernate區別
  5. JDBC連接MySQL數據庫關鍵四步
  6. 詳解JDBC驅動的四種類型
責任編輯:佚名 來源: JavaEye
相關推薦

2009-07-15 17:41:55

iBATIS事務處理

2011-05-18 08:34:45

javaJDBC

2009-06-16 11:42:00

JDBC事務處理JavaBean

2011-04-27 15:55:16

2009-06-12 14:47:27

JavaBeanJDBC鏈接事物處理

2009-09-14 19:55:03

LINQ事務處理

2011-07-10 14:19:32

JavaBean

2009-11-13 17:01:07

ADO.NET事務處理

2010-04-13 15:44:00

Oracle與SqlS

2014-01-22 13:37:53

2010-01-04 13:06:50

ADO.NET事務

2022-06-22 05:42:32

數據庫事務處理分析查詢

2009-04-15 17:03:15

OracleSQL Server事務處理

2010-05-17 14:59:05

MySQL事務處理

2022-06-13 10:42:21

分布式事務數據庫

2009-11-04 15:05:45

ADO.NET事務

2023-08-22 09:58:22

數據分布式

2017-04-10 13:30:47

Redis數據庫命令

2011-04-27 16:09:48

SQL ServerSSIS

2010-01-13 14:13:24

VB.NET事務處理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩一区二区三区在线视频 | 国产精品片 | 在线免费观看黄色av | 黄视频网址 | 日韩精品在线播放 | 午夜视频网站 | 亚洲一区二区三区免费在线观看 | 国产精品久久国产精品 | avav在线看| 欧美日韩精品一区二区三区四区 | 国产精品99一区二区 | 久久久999免费视频 999久久久久久久久6666 | 久久精品亚洲 | 黄色一级视频 | 91在线电影 | 欧美在线激情 | 国产午夜精品久久久 | 成人精品国产 | www.youjizz.com日韩| 国产欧美在线 | 亚洲国产18| www.久| 久久久精品一区二区三区 | 国产一区二区在线免费 | 亚洲欧美综合 | 2020天天操 | 女同久久另类99精品国产 | 99精品99久久久久久宅男 | 欧美一级二级三级视频 | 国产一区二区小视频 | 日韩亚洲视频 | www.玖玖玖| 久久精品一区二区三区四区 | 欧洲视频一区二区 | 国产精品一级在线观看 | 激情国产 | 亚洲欧美精品 | 久草免费视 | 国产性色视频 | 亚洲欧美中文日韩在线v日本 | 日韩国产一区 |