9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
學習啦>知識大全>知識百科>百科知識>

java什么是事務意思概念

時間: 歐東艷656 分享

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

  Java中的事務處理

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

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

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

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

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

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什么是事務意思概念

事務,一般是指要做的或所做的事情。在計算機術語中是指訪問并可能更新數據庫中各種數據項的一個程序執行單元(unit)。事務(Transaction)是訪問并可能更新數據庫中各種數據項的一個程序執行單元(unit)。事務通常由高級數據庫操縱語言或編
推薦度:
點擊下載文檔文檔為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什么是繼承意思概念

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

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

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

  • it領域什么是si
    it領域什么是si

    信息產業其實是一個很大的產業集群。信息的感測技術、信息的識別技術、網絡技術、信息處理技術和信息的施用技術等形成了不同的產業。就計算機技術

245691 主站蜘蛛池模板: 成人无码潮喷在线观看| 一区二区亚洲人妻精品| 成人精品区| 亚洲一区二区在线无码| 亚洲一区二区偷拍精品| 精品国产伦理国产无遮挡| 精品国产欧美一区二区三区在线| 久久国产精品波多野结衣| 国产老妇伦国产熟女老妇高清| 五月国产综合视频在线观看| 国产精品亚洲二区在线播放| 久久天天躁夜夜躁狠狠85| 国产精品综合在线免费看| 波多野结衣久久一区二区| 国产AV福利第一精品| 在线涩涩免费观看国产精品| 老熟妇欲乱一区二区三区| 国模粉嫩小泬视频在线观看| 亚洲毛片不卡AV在线播放一区| 99久久精品费精品国产一区二 | 不卡国产一区二区三区| 日韩美女亚洲性一区二区| 中文字幕在线观看一区二区| 中文字幕亚洲综合久久2020 | 色噜噜狠狠色综合成人网| 亚洲欧美综合人成在线| 日韩精品一区二区三区久| 人妻系列中文字幕精品| 97亚洲熟妇自偷自拍另类图片 | 91人妻熟妇在线视频| 欧美午夜理伦三级在线观看 | 精品九九人人做人人爱| 亚洲综合成人一区二区三区| 成人午夜视频一区二区无码| 97色伦97色伦国产| av无码精品一区二区乱子| 国产午夜福利在线视频| 国产精品亚洲综合网一区| 亚洲av永久无码天堂影院| 久久国产成人高清精品亚洲| 2021国产在线视频|