精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學習啦>知識大全>知識百科>百科知識>

      java什么是事務意思概念

      時間: 歐東艷656 分享

        事務,一般是指要做的或所做的事情。在計算機術(shù)語中是指訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit)。事務(Transaction)是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit)。事務通常由高級數(shù)據(jù)庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執(zhí)行所引起,并用形如begin transaction和end transaction語句(或函數(shù)調(diào)用)來界定。事務由事務開始(begin transaction)和事務結(jié)束(end transaction)之間執(zhí)行的全體操作組成。

        Java中的事務處理

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

        1、JavaBean中使用JDBC方式進行事務處理

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

      public int delete(int sID) {
       dbc = new DataBaseConnection();
       Connection con = dbc.getConnection();
       try {
        con.setAutoCommit(false);// 更改JDBC事務的默認提交方式
        dbc.executeUpdate("delete from bylaw where ID=" + sID);
        dbc.executeUpdate("delete from bylaw _content where ID=" + sID);
        dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID);
        con.commit();//提交JDBC事務
        con.setAutoCommit(true);// 恢復JDBC事務的默認提交方式
        dbc.close();
        return 1;
       }
       catch (Exception exc) {
        con.rollBack();//回滾JDBC事務
        exc.printStackTrace();
        dbc.close();
        return -1;
       }
      }

        2、SessionBean中的JTA事務

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

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

      public int delete(int sID) {
       DataBaseConnection dbc = null;
       dbc = new DataBaseConnection();
       dbc.getConnection();
       UserTransaction transaction = sessionContext.getUserTransaction();//獲得JTA事務
       try {
        transaction.begin(); //開始JTA事務
        dbc.executeUpdate("delete from bylaw where ID=" + sID);
        dbc.executeUpdate("delete from bylaw _content where ID=" + sID);
        dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID);
        transaction.commit(); //提交JTA事務
        dbc.close();
        return 1;
       }
       catch (Exception exc) {
        try {
         transaction.rollback();//JTA事務回滾
        }
        catch (Exception ex) {
         //JTA事務回滾出錯處理
         ex.printStackTrace();
        }
        exc.printStackTrace();
        dbc.close();
        return -1;
       }
      }

      java什么是事務意思概念

      事務,一般是指要做的或所做的事情。在計算機術(shù)語中是指訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit)。事務(Transaction)是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit)。事務通常由高級數(shù)據(jù)庫操縱語言或編
      推薦度:
      點擊下載文檔文檔為doc格式

      精選文章

      • java什么是實例意思指的是
        java什么是實例意思指的是

        1. 首先看下定義的注解類: 類注解定義, MyClassAnnotation.java: [java] view plain copy package com.ross.annotation; import java.lang.annotation.*; /** * Author: Jiangtao He; Email: ross.jia

      • java什么是繼承意思概念
        java什么是繼承意思概念

        我們經(jīng)常在項目中使用繼承,但是往往不太明白,程序運行的順序以及原理,尤其是使用上轉(zhuǎn)型對象的時候,以及父類子類中都有static變量和方法時,不知

      • java什么是反射意思概念介紹
        java什么是反射意思概念介紹

        Java中的反射,我們常見是取得構(gòu)造方法,成員變量,普通方法,還有對數(shù)組反射的操作。 1、反射的精辟定義:反射就是把Java類中的各種成分映射成相應的

      • it領(lǐng)域什么是si
        it領(lǐng)域什么是si

        信息產(chǎn)業(yè)其實是一個很大的產(chǎn)業(yè)集群。信息的感測技術(shù)、信息的識別技術(shù)、網(wǎng)絡技術(shù)、信息處理技術(shù)和信息的施用技術(shù)等形成了不同的產(chǎn)業(yè)。就計算機技術(shù)

      245691