mysql 設置事物自動提交_mysql事務自動提交的問題

1:mysql的aut0commit配置默認是開啟的,也就是沒執行一條sql都會提交一次,就算顯示的開啟事務也會導致多條SQL不在一個事務中,

如果需要相關的SQL在同一個事務中執行,那么必須將autocommit設置為OFF,再顯式開啟事務。

2:如果使用spring的事務,那么不存在這個問題,spring的事務默認是關閉自動提交的,做法是判斷連接池是否開啟事務自動提交,如果連接池開啟自動提交則設置自動提交為關閉,否則不做操作,因為某些jdbc驅動做設置自動提交關閉代價昂貴。

/**

* This implementation sets the isolation level but ignores the timeout.

*/

@Override

protected void doBegin(Object transaction, TransactionDefinition definition) {

.........省略某些代碼

// Switch to manual commit if necessary. This is very expensive in some JDBC drivers,

// so we don't want to do it unnecessarily (for example if we've explicitly

// configured the connection pool to set it already).

if (con.getAutoCommit()) {

txObject.setMustRestoreAutoCommit(true);

if (logger.isDebugEnabled()) {

logger.debug("Switching JDBC Connection [" + con + "] to manual commit");

}

con.setAutoCommit(false);

}

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392607.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392607.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392607.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

rest laravel_如何通過測試驅動開發來構建Laravel REST API

rest laravelby Kofo Okesola由Kofo Okesola 如何通過測試驅動開發來構建Laravel REST API (How to build a Laravel REST API with Test-Driven Development) There is a famous quote by James Grenning, one of the pioneers in TDD and Agile development methodologies:T…

python之numpy

numpy是一個多維的數組對象,類似python的列表,但是數組對象的每個元素之間由空格隔開。 一、數組的創建 1.通過numpy的array(參數),參數可以是列表、元組、數組、生成器等 由arr2和arr3看出,對于多維數組來說,如果最里…

git 上傳

轉載于:https://www.cnblogs.com/benbentu/p/6543154.html

Liferay 部署war包時候的deployDirectory 細節分析

引入: 在上文中,我們從宏觀上講解了Liferay部署war包的動作是如何觸發監聽器并且完成部署過程的,但是其中最核心的一塊deployDirectory我們沒講,它的作用是當有了臨時目錄并且已經把war包的內容展開到該目錄之后,是如何…

leetcode 164. 最大間距(桶排序)

給定一個無序的數組,找出數組在排序之后,相鄰元素之間最大的差值。 如果數組元素個數小于 2,則返回 0。 示例 1: 輸入: [3,6,9,1] 輸出: 3 解釋: 排序后的數組是 [1,3,6,9], 其中相鄰元素 (3,6) 和 (6,9) 之間都存在最大差值 3。 示例 2: …

批處理定時mysql備份數據庫_定時備份mysql數據庫的批處理

定時備份mysql數據庫的批處理代碼,保存為backup_mysql.bat,運行即可。復制代碼 代碼如下:echo offset txt1%date:~0,4%::當前年set txt2%date:~5,2%::當前月set txt3%date:~8,2%::當前日set txt4%time:~0,2%::當前小時set txt5%time:~3,2%::當前分鐘set …

算法訓練營 重編碼_您在編碼訓練營期間可能面臨的最大挑戰

算法訓練營 重編碼by Joanna Gaudyn喬安娜高登(Joanna Gaudyn) 您在編碼訓練營期間可能面臨的最大挑戰 (The biggest struggles you might face during a coding bootcamp) You think that during a coding bootcamp nothing can be more challenging than learning programmi…

1449 砝碼稱重(思維)

題目鏈接:https://www.51nod.com/onlineJudge/submitDetail.html#!judgeId259281 題解:這題有一個技巧,畢竟是w^0,w^1,w^2....這樣,必然會想到w進制,而且就只能用一次。 那么就簡單了,把m拆成w進制&#xf…

leetcode 454. 四數相加 II(哈希表)

給定四個包含整數的數組列表 A , B , C , D ,計算有多少個元組 (i, j, k, l) ,使得 A[i] B[j] C[k] D[l] 0。 為了使問題簡單化,所有的 A, B, C, D 具有相同的長度 N,且 0 ≤ N ≤ 500 。所有整數的范圍在 -228 到 228 - 1 之間&#xf…

“換標”Intel的窮則思變

成語有云“窮則思變”,用這個詞來形容早先的Intel換標也最恰當不過。當然這里“窮”,不是說Intel很貧窮,而是說Intel在自己的產業到了盡頭。Intel推產品概念的水平是一流的,雖然某些概念事后被認為是錯誤的(如&#xf…

mysql開發中遇到的坑_mysql優化過程中遇見的坑(mysql優化問題特別注意)

單條查詢最后添加 LIMIT 1,停止全表掃描。對于char(4) 或者vachar(4),無論是中文還是英文都是存儲四個字符,注意是字符而不是字節。如果一個字段未int類型,此類型只有0、1兩個狀態,需要為此建立索引嗎?過度…

初級開發人員的缺點_在您作為初級開發人員的第一年獲得此建議

初級開發人員的缺點Are you a junior developer embarking on your software development career?您是從事軟件開發事業的初級開發人員嗎? Or a recent computer science graduate who has recently started a new job?還是最近剛開始從事新工作的計算機科學專業…

Spark日志分析

根據tomcat日志計算url訪問了情況,具體的url如下, 要求:區別統計GET和POST URL訪問量 結果為:訪問方式、URL、訪問量 輸入文件: 196.168.2.1 - - [03/Jul/2014:23:36:38 0800] "GET /course/detail/3.htm HTTP/1.…

進程、線程和協程的區別

首先,給出“進程、線程和協程”的特點: 進程:擁有自己獨立的堆和棧,既不共享堆,也不共享棧,進程由操作系統調度;線程:擁有自己獨立的棧和共享的堆,共享堆,不共…

leetcode 493. 翻轉對(分治算法)

給定一個數組 nums &#xff0c;如果 i < j 且 nums[i] > 2*nums[j] 我們就將 (i, j) 稱作一個重要翻轉對。 你需要返回給定數組中的重要翻轉對的數量。 示例 1: 輸入: [1,3,2,3,1] 輸出: 2 代碼 class Solution {public int reversePairs(int[] nums) {return getR…

使用brew安裝軟件

brew 又叫Homebrew&#xff0c;是Mac OSX上的軟件包管理工具&#xff0c;能在Mac中方便的安裝軟件或者卸載軟件&#xff0c; 只需要一個命令&#xff0c; 非常方便 brew類似ubuntu系統下的apt-get的功能 閱讀目錄 安裝brew 使用brew安裝軟件 使用brew卸載軟件 使用brew查詢軟…

mysql 繞過select報錯_MySQL注射繞過技巧(三)

在測試一次注入的時候發現過濾了逗號 所以找到這個思路第一次遇到的時候是看key哥挖洞 遇到后就想記錄下來正文過濾了逗號 利用join來逐步查詢select*from(select 1)a join (select 2)b join (select 3)c;例如下圖逐步查詢user()user() basediruser() basedir version()也可以…

深入理解javascript

深入理解JavaScript系列&#xff08;1&#xff09;&#xff1a;編寫高質量JavaScript代碼的基本要點 深入理解JavaScript系列&#xff08;2&#xff09;&#xff1a;揭秘命名函數表達式 深入理解JavaScript系列&#xff08;3&#xff09;&#xff1a;全面解析Module模式 深入理…

spark 并行處理_如何使用Spark集群并行處理大數據

spark 并行處理by Hari Santanam通過Hari Santanam 如何使用Spark集群并行處理大數據 (How to use Spark clusters for parallel processing Big Data) 將Apache Spark的彈性分布式數據集(RDD)與Databricks一起使用 (Use Apache Spark’s Resilient Distributed Dataset (RDD)…

django前后端分離部署

部署靜態文件&#xff1a; 靜態文件有兩種方式1&#xff1a;通過django路由訪問2&#xff1a;通過nginx直接訪問 方式1&#xff1a; 需要在根目錄的URL文件中增加&#xff0c;作為入口 url(r^$, TemplateView.as_view(template_name"index.html")), 在setting中更改靜…