1. 程式人生 > >conn.setAutoCommit()用法及作用(轉載)

conn.setAutoCommit()用法及作用(轉載)

事務操作資料:

(一)

eg:

假如銀行轉賬系統

從張三的賬戶轉1000元到小羅的賬戶
這個操作需要分兩步
1.張三賬戶減少1000元
2.小羅賬戶增加1000元
假如於到斷電等等,而剛好張三減了1000,而此時小羅卻不增加。。。。可以想象銀行這下有事做了

所以使用事務操作資料來搞定

(2)

java使用事務非常簡單,首先呼叫conn.setAutoCommit(boolean b)方法,傳入一個false,這樣將不會自動提交,而需要使用conn.commit()方法,手動提交事務,當然只有在確認兩個步驟都沒有出錯的情況下,才能提交,這樣才能保證整個操作的完整性,一旦出錯,使用conn.rollback()方法,回滾事務,這樣的話,整個事務都將不被提交。那麼如何判斷有沒有出錯呢,非常簡單,執行資料庫操作的方法,都會丟擲java.sql.SQLException,所以需要使用try……catch語句塊捕獲異常

在catch塊中,使用conn.rollback()回滾事務即可
       在資料庫呼叫的javabean中conn.setAutoCommit()的功能是每執行一條SQL語句,就作為一次事務提交。但一般在專案中很有可能需要執行多條SQL語句作為一個事務。若有一個執行不成功,就會rollback();

一般來講,大家對資料庫中的表單,主要是增、刪、改、查 這四個操作,如果你的程式當中,遇到一次業務邏輯需要兩次或兩次以上的對相同資料表的增刪改操作,那麼,為了資料的一致性,(或者具體說,在你的一次業務邏輯的處理過程中,其他(執行緒或程式或業務處理)的對相同資料的相同兩次查詢所得結果相同。)我們會利用資料庫的事務操作,將一次業務邏輯所包含的所有操作封裝在一個事務裡,一次將多個操作進行提交。
而conn的setAutoCommit方法,是指,在事務當中,是否執行一條語句就自動提交一次。
想在一個事務裡進行多個操作。就必然將setAutoCommit的引數設定成false,在多個操作的最後呼叫conn.commit()方法,進行手動提交

(3)引數:true和false

假設如下:
1 資料庫一個表格有50條記錄
2 你設定引數為false
則在你執行整個查詢SQL期間,一直是沒有事務的,那麼如果你的查詢用到了一些函式,這些函式包含了多個查詢語句,那麼有可能會出現不一致的情況。
也就是說,函式、儲存過程等,他們都將執行在非事務的環境下。
而你設定為true,則沒有任何問題了,讀一致性將保證不會出現問題。

相關推薦

conn.setAutoCommit()用法作用轉載

事務操作資料: (一) eg: 假如銀行轉賬系統 從張三的賬戶轉1000元到小羅的賬戶 這個操作需要分兩步 1.張三賬戶減少1000元 2.小羅賬戶增加1000元 假如於到斷電等等,而剛好張三減了1000,而此時小羅卻不增加。。。。可以想象銀行這下有事做了 所以

List list = new ArrayList();和ArrayList list=new ArrayList();用法區別轉載

List是一個介面,而ArrayList 是一個類。 ArrayList 繼承並實現了List。        List list = new ArrayList();這句建立了一個ArrayList的物件後把上溯到了List

java裏getter和setter的作用轉載

details 訪問 str 內部 比較 進行 無需 銀行 自己的 【java】類中使用getter和setter的優勢 http://www.importnew.com/9716.html java有三大特性:封裝,繼承還有多態。

bootstrap類名作用部分

ear container hid 其他 隱藏 效果 left 固定 右移 .visible-**-block 元素在**設備上以塊級元素顯示;.visible-**-inline 元素在**設備上以行元素顯示;.visible-**-inline-block 元素在**設

php中的curl使用入門教程和常見用法實例轉載

memory stat 腳本 rem esp 增加 enc strip email 摘自:https://www.cnblogs.com/echohao/p/6134673.html 摘要: [目錄] php中的curl使用入門教程和常見用法實例 一、curl的優勢 二

徹底弄懂HTTP緩存機制原理轉載

一次 chrom https 分開 res 技術 觸發 明顯 總結 https://www.cnblogs.com/chenqf/p/6386163.html 前言 Http 緩存機制作為 web 性能優化的重要手段,對於從事 Web 開發的同學們來說,應該是知識體系庫中的

view,control,service,dao,model層的關係作用實用

 原文出處:https://blog.csdn.net/zdwzzu2006/article/details/6086829 view層:    結合control層,顯示前臺頁面。 control層:業務模組流程控制,呼叫service層介面。 s

【Spring】Spring各jar包的作用轉載

除了spring.jar檔案,Spring還包括有其它13個獨立的jar包,各自包含著對應的Spring元件,使用者可以根據自己的需要來選擇組合自己的jar包,而不必引入整個spring.jar的所有類檔案。 (1) spring-core.jar 這個jar檔案包含Spring框架基本

Spring各jar包的作用轉載

文章出處:https://www.cnblogs.com/BensonHe/p/3903050.html spring.jar是包含有完整發布的單個jar 包,spring.jar中包含除了spring-mock.jar裡所包含的內容外其它所有jar包的內容,因為只有在開發環境下才會用到 spr

IntelliJ IDEA 的 Java 熱部署外掛 JRebel 安裝使用轉載

jrebel 外掛介紹:http://plugins.jetbrains.com/plugin/4441-jrebel-for-intellij 原文地址:http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/jrebel

webpack 相關外掛作用表格

webpack 相關外掛及作用: 外掛 預設啟用 作用 UglifyJsPlugin production模式時 壓縮程式碼、 DefinePlugin 建立全域性常量用於編

MFC總結之CListCtrl用法技巧

        本篇重點介紹:禁止拖動表頭、讓第一列居中顯示、設定行高與字型、虛擬列表技術、點選表頭時進行歸類、向上與向下移動、動態調整大小問題、避免閃爍問題。  6、禁止拖動表頭        過載OnNotify訊息響應函式,遮蔽兩個訊息通知碼:HDN_BEGINT

函式指標的作用 轉載

函式指標及應用 我們先來看一下以下 的宣告: int f(int); int  (*pf)(int)=&f;//&操作符可選;因為函式名被使用時總是由編譯器把它 轉換為函式指標; int ans; ans=f(25); ans=(*pf)(25); ans=pf(25);//間接訪問操作並非必

支援向量機SVMDemo轉載

1 簡介 支援向量機基本上是最好的有監督學習演算法了。最開始接觸SVM是去年暑假的時候,老師要求交《統計學習理論》的報告,那時去網上下了一份入門教程,裡面講的很通俗,當時只是大致瞭解了一些相關概念。這次斯坦福提供的學習材料,讓我重新學習了一些SVM知識。我看很多正統的講法都是從VC 維理論和結構風險

java vm 引數設定轉載

一、設定JVM記憶體設定 1. 設定JVM記憶體的引數有四個: -Xmx   Java Heap最大值,預設值為實體記憶體的1/4,最佳設值應該視實體記憶體大小及計算機內其他記憶體開銷而定; -Xms   Java Heap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發測試機J

使用getInstance()方法的原因作用

public static DBConnect instance; public static DBConnect getInstance(){ if(instance == null){ instance = new DBconnect();

WEB-INF目錄與META-INF目錄的作用轉載

base 區分 tag 組件 平臺 配置 文件頭 獲得 存放位置 /WEB-INF/web.xml Web應用程序配置文件,描述了 servlet 和其他的應用組件配置及命名規則。 /WEB-INF/classes/包含了站點所有用的 class 文件,包括 servl

Spring中各包的作用轉載

這個jar檔案是所有應用都要用到的,它包含訪問配置檔案、建立和管理bean以及進行Inversion of Control / Dependency Injection(IoC/DI)操作相關的所有類。如果應用只需基本的IoC/DI支援,引入spring-core.jar及spring-beans.jar檔案

getClass()和getSimpleName()的區別和作用轉載

介面: package com.test; public interface Fruit { } 一個實現類: package com.test; public class Apple implements Fruit { } 基本測試類 package com.test; impo

Softmax 函式的特點和作用轉載

Logistic 分類器 分類問題,是機器學習裡最基礎的問題。 我們從最簡單的二分類任務開始考慮,假設我們要分類西瓜是否成熟的話,則對於每一個西瓜來說,就有兩種結果:{熟,不熟}{熟,不熟}。首先我們必須自己知道如何判斷一個西瓜“熟”或者“不熟”,或