真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

java事務的類型有哪些及怎么使用

這篇文章主要介紹“java事務的類型有哪些及怎么使用”,在日常操作中,相信很多人在java事務的類型有哪些及怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java事務的類型有哪些及怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)建站是一家專業(yè)提供懷安企業(yè)網站建設,專注與網站設計、成都做網站成都h5網站建設、小程序制作等業(yè)務。10年已為懷安眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網站建設公司優(yōu)惠進行中。

1.JDBC事務

用 Connection 對象控制,JDBC 的 Connection 接口提供了兩種事務模式:自動提交、手工提交。

 public void setAutoCommit(boolean)
 public boolean getAutoCommit()
 public void commit()
 public void rollback()

JDBC 為使用 Java 進行數據庫的事務操作提供了最基本的支持??梢詫⒍鄠€ SQL 語句放到同一個事務中,保證其 ACID 特性。

涉及到多數據庫的操作或者分布式場景,JDBC事務就無能為力了。

2.JTA(Java Transaction API)事務

JTA是一種高層的,與實現(xiàn)無關的,與協(xié)議無關的API,應用程序和應用服務器可以使用JTA來訪問事務。JTA允許應用程序執(zhí)行分布式事務處理--在兩個或多個網絡計算機資源上訪問并且更新數據,這些數據可以分布在多個數據庫上。JDBC驅動程序的JTA支持極大地增強了數據訪問能力。

public void JtaTransfer() { 
        javax.transaction.UserTransaction tx = null;
        java.sql.Connection conn = null;
         try{ 
             tx = (javax.transaction.UserTransaction) context.lookup("java:comp/UserTransaction");  //取得JTA事務,本例中是由Jboss容器管理
             javax.sql.DataSource ds = (javax.sql.DataSource) context.lookup("java:/XAOracleDS");  //取得數據庫連接池,必須有支持XA的數據庫、驅動程序  
             tx.begin();
            conn = ds.getConnection();
             // 將自動提交設置為 false,
             //若設置為 true 則數據庫將會把每一次數據更新認定為一個事務并自動提交
             conn.setAutoCommit(false);
             stmt = conn.createStatement(); 
             // 將 A 賬戶中的金額減少 500 
             stmt.execute("\
             update t_account set amount = amount - 500 where account_id = 'A'");
             // 將 B 賬戶中的金額增加 500 
             stmt.execute("\
             update t_account set amount = amount + 500 where account_id = 'B'");
             // 提交事務
             tx.commit();
             // 事務提交:轉賬的兩步操作同時成功
         } catch(SQLException sqle){            
             try{ 
                 // 發(fā)生異常,回滾在本事務中的操做
              tx.rollback();
                 // 事務回滾:轉賬的兩步操作完全撤銷
                 stmt.close(); 
                 conn.close(); 
             }catch(Exception ignore){ 
             } 
             sqle.printStackTrace(); 
         } 
     }

3.容器事務

容器事務主要是J2EE應用服務器提供的,容器事務大多是基于JTA完成,這是一個基于JNDI的,相當復雜的API實現(xiàn)。

到此,關于“java事務的類型有哪些及怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享名稱:java事務的類型有哪些及怎么使用
URL網址:http://weahome.cn/article/ghdjhe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部