日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳解MySQL與Spring的自動(dòng)提交(autocommit)

瀏覽:109日期:2023-02-06 09:07:26
1 MySQL的autocommit設(shè)置

MySQL默認(rèn)是開(kāi)啟自動(dòng)提交的,即每一條DML(增刪改)語(yǔ)句都會(huì)被作為一個(gè)單獨(dú)的事務(wù)進(jìn)行隱式提交。如果修改為關(guān)閉狀態(tài),則執(zhí)行DML語(yǔ)句之后要手動(dòng)提交 才能生效。查詢當(dāng)前會(huì)話的自動(dòng)提交是否開(kāi)啟:

mysql> show variables like ’autocommit’;+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | ON |+---------------+-------+

查詢?nèi)值淖詣?dòng)提交是否開(kāi)啟:

mysql> show global variables like ’autocommit’;+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | ON |+---------------+-------+

通過(guò)修改autocommit變量可以關(guān)閉和開(kāi)啟操作

關(guān)閉當(dāng)前會(huì)話的自動(dòng)提交模式mysql> set autocommit=0; mysql> show variables like ’autocommit’;+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | OFF |+---------------+-------+ 全局的autocommit還是開(kāi)啟狀態(tài)mysql> show global variables like ’autocommit’;+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | ON |+---------------+-------+ 關(guān)閉全局的autocommitmysql> set global autocommit=0; mysql> show global variables like ’autocommit’;+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | OFF |+---------------+-------+

如果想要MySQL服務(wù)重啟之后仍能生效,需要設(shè)置系統(tǒng)環(huán)境變量。MySQL5.7 在cnf配置文件中[mysqld]下面設(shè)置autocommit的值。

[mysqld]...autocommit=0Spring中對(duì)自動(dòng)提交的控制

MySQL的JDBC驅(qū)動(dòng)包 mysql-connector-java 會(huì)給會(huì)話的connection默認(rèn)開(kāi)啟自動(dòng)提交,譬如 mysql-connector-java-8.0.22版本的代碼:

//com.mysql.cj.protocol.a.NativeServerSession.java private boolean autoCommit = true;

常用的數(shù)據(jù)庫(kù)連接池 如HikariCP,druid等,默認(rèn)也是開(kāi)啟自動(dòng)提交,會(huì)將connection的自動(dòng)提交設(shè)置都改為true。druid在初始化DataSource的時(shí)候設(shè)置connection的autocommit為true。代碼如下:

com.alibaba.druid.pool.DruidAbstractDataSource.java protected volatile boolean defaultAutoCommit = true; ... public void initPhysicalConnection(Connection conn, Map<String, Object> variables, Map<String, Object> globalVariables) throws SQLException { if (conn.getAutoCommit() != defaultAutoCommit) { //將connection的autocommit設(shè)置為true conn.setAutoCommit(defaultAutoCommit); } ... }

HikariCP 初始化DataSource的默認(rèn)配置 中autocommit也是true:

com.zaxxer.hikari.HikariConfig.java public HikariConfig() { ... isAutoCommit = true; }

對(duì)于事務(wù)管理器PlatformTransactionManager管理的顯式事務(wù)(譬如@Transactional注解聲明)在 開(kāi)啟事務(wù)時(shí)會(huì)關(guān)閉自動(dòng)提交模式。 代碼如下:

@Overrideprotected void doBegin(Object transaction, TransactionDefinition definition) {DataSourceTransactionObject txObject = (DataSourceTransactionObject) transaction;Connection con = null;try { ........// 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');}//關(guān)閉自動(dòng)提交模con.setAutoCommit(false);} .......}catch (Throwable ex) { .......}}總結(jié)

MySQL的autocommit模式默認(rèn)是打開(kāi)狀態(tài),為了防止手動(dòng)的DML操作導(dǎo)致失誤,生產(chǎn)環(huán)境可以設(shè)置為默認(rèn)關(guān)閉的狀態(tài)。一般的jdbc 連接池默認(rèn)都是開(kāi)啟狀態(tài),而且是可配置的。顯式事務(wù)下會(huì)設(shè)置成關(guān)閉狀態(tài),單純的修改數(shù)據(jù)庫(kù)環(huán)境的autocommit不會(huì)對(duì)代碼的行為產(chǎn)生影響。

以上就是詳解MySQL與Spring的自動(dòng)提交(autocommit)的詳細(xì)內(nèi)容,更多關(guān)于MySQL 自動(dòng)提交(autocommit)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩国产免费观看视频| 日韩不卡免费高清视频| 婷婷成人综合| 久久国产日本精品| 亚洲精品在线观看91| 久久亚洲美女| 国产精品美女午夜爽爽| 高清一区二区三区av| 99成人超碰| 日韩在线观看一区| 尤物网精品视频| 午夜精品影视国产一区在线麻豆| 日韩精选在线| 韩日一区二区| 不卡一区2区| 在线精品观看| 久久精品一本| 999久久久国产精品| 日韩精品一级中文字幕精品视频免费观看| 亚洲精品护士| 乱一区二区av| 欧美成a人免费观看久久| 亚洲精品小说| 国产欧美亚洲精品a| 免费精品一区| 欧美91精品| 欧美三区不卡| 青青久久av| 日韩av不卡在线观看| 日韩精品1区| 亚洲人成毛片在线播放女女| 国产激情欧美| 国产精品88久久久久久| 久久精品99国产国产精| 女生影院久久| 欧美日韩调教| 蜜桃成人av| 国产精品地址| 奶水喷射视频一区| 国产精品一区二区三区四区在线观看 | 999国产精品视频| 亚洲免费成人av在线| 国产精品成久久久久| 亚洲一区二区网站| 精品国产黄a∨片高清在线| 亚洲中午字幕| 日韩大片在线播放| 国产精品三p一区二区| 免费视频亚洲| 国产精品一线天粉嫩av| 午夜在线视频一区二区区别| 精品国产成人| 日韩精品乱码av一区二区| 神马日本精品| 欧美成a人片免费观看久久五月天| 国产一级一区二区| 中文字幕高清在线播放| 国产亚洲电影| 免费在线观看一区二区三区| 久久国产日本精品| 国产a亚洲精品| 欧美国产先锋| 亚洲精品成人一区| 亚洲深夜av| а√天堂8资源中文在线| 视频国产精品| 丝袜美腿亚洲一区| 黄色成人精品网站| 国内一区二区三区| 欧美日韩亚洲一区在线观看| 99亚洲视频| 久久国产影院| 国产成人精品亚洲日本在线观看| 国产日韩免费| 日韩av一二三| 日韩精品久久久久久| 日本一区福利在线| 日本亚洲三级在线| 日韩精品久久理论片| 黄色国产精品| 欧美日韩国产综合网| 日韩在线短视频| 婷婷综合六月| 欧洲亚洲一区二区三区| 激情黄产视频在线免费观看| 福利一区二区免费视频 | 亚洲不卡视频| 水蜜桃久久夜色精品一区的特点| 伊人精品视频| 久久青草久久| 久久午夜视频| 亚洲有吗中文字幕| 香蕉精品久久| 九九综合在线| 亚洲韩日在线| 国产亚洲网站| 蜜臀91精品一区二区三区| 一区在线观看| 五月精品视频| 中文一区二区| 激情综合网五月| 激情偷拍久久| 99香蕉国产精品偷在线观看| 红桃视频亚洲| 亚洲伊人精品酒店| 日韩av中文字幕一区| 国产精品对白| 精品三级av在线导航| 日韩欧美一区二区三区免费观看| 欧美午夜精彩| 亚洲精品黄色| 精品一区二区三区免费看| 午夜av成人| 中文字幕一区二区av| 国产精品手机在线播放| 97精品一区| 在线亚洲免费| 欧美日韩在线精品一区二区三区激情综合| 国产精品久av福利在线观看| 国产精品99久久精品| 欧美不卡高清| 91精品国产自产观看在线 | 国产精品久久久久77777丨| 黄毛片在线观看| 免费久久99精品国产自在现线| 日本免费新一区视频| 中文字幕在线视频网站| 日韩影院精彩在线| 精品伊人久久| 日韩视频一区| 国产精品一区二区三区www | 超碰在线99| 视频一区视频二区中文| 国产精品xvideos88| 久久久夜精品| 日韩精品亚洲一区二区三区免费| 高清日韩欧美| 亚洲欧美久久精品| 日韩欧美看国产| 日韩国产在线不卡视频| 91欧美在线| 日韩中出av| 欧美性感美女一区二区| 国产欧美日本| 午夜久久av| 成人精品天堂一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 麻豆免费精品视频| 在线亚洲国产精品网站| 91精品国产自产精品男人的天堂 | 久久三级中文| 日韩中文字幕不卡| 超碰超碰人人人人精品| 日韩动漫一区| 亚洲激情偷拍| 国产99在线| 国产精品亚洲一区二区在线观看| 极品裸体白嫩激情啪啪国产精品| 欧美日韩亚洲一区在线观看| 欧美日韩精品在线一区| 国产日韩亚洲欧美精品| 黄色日韩精品| 捆绑调教日本一区二区三区| 国产精品美女久久久浪潮软件| 久久中文字幕一区二区| 免费日韩视频| 国产精品黑丝在线播放| 欧美在线精品一区| 欧美日韩视频| 四虎884aa成人精品最新| 国产精品99久久免费| 亚洲精品乱码久久久久久蜜桃麻豆| 1000部精品久久久久久久久| 粉嫩av一区二区三区四区五区 | 国产伦久视频在线观看| 91福利精品在线观看| 六月丁香综合| 激情婷婷综合| 日韩欧美一区二区三区免费看| 久久精品 人人爱| 亚洲精品成a人ⅴ香蕉片| 一本一道久久a久久精品蜜桃| 在线看片国产福利你懂的| 免费一区二区三区在线视频| 欧美日韩国产一区二区在线观看| 久久亚洲美女| 91久久久久| 一区三区视频| 黑丝一区二区| 欧美日韩国产在线一区| 亚洲伦乱视频| 水蜜桃精品av一区二区| 精品三级久久久| 精品国产乱码久久久久久1区2匹| 国产精品视频一区二区三区综合| 日本午夜精品| 欧美日韩一区二区三区在线电影| 日韩黄色免费网站| 国产日韩欧美高清免费| 国产麻豆精品久久|