成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:82日期:2023-02-06 09:07:26
1 MySQL的autocommit設置

MySQL默認是開啟自動提交的,即每一條DML(增刪改)語句都會被作為一個單獨的事務進行隱式提交。如果修改為關閉狀態,則執行DML語句之后要手動提交 才能生效。查詢當前會話的自動提交是否開啟:

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

查詢全局的自動提交是否開啟:

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

通過修改autocommit變量可以關閉和開啟操作

關閉當前會話的自動提交模式mysql> set autocommit=0; mysql> show variables like ’autocommit’;+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | OFF |+---------------+-------+ 全局的autocommit還是開啟狀態mysql> show global variables like ’autocommit’;+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | ON |+---------------+-------+ 關閉全局的autocommitmysql> set global autocommit=0; mysql> show global variables like ’autocommit’;+---------------+-------+| Variable_name | Value |+---------------+-------+| autocommit | OFF |+---------------+-------+

如果想要MySQL服務重啟之后仍能生效,需要設置系統環境變量。MySQL5.7 在cnf配置文件中[mysqld]下面設置autocommit的值。

[mysqld]...autocommit=0Spring中對自動提交的控制

MySQL的JDBC驅動包 mysql-connector-java 會給會話的connection默認開啟自動提交,譬如 mysql-connector-java-8.0.22版本的代碼:

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

常用的數據庫連接池 如HikariCP,druid等,默認也是開啟自動提交,會將connection的自動提交設置都改為true。druid在初始化DataSource的時候設置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設置為true conn.setAutoCommit(defaultAutoCommit); } ... }

HikariCP 初始化DataSource的默認配置 中autocommit也是true:

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

對于事務管理器PlatformTransactionManager管理的顯式事務(譬如@Transactional注解聲明)在 開啟事務時會關閉自動提交模式。 代碼如下:

@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');}//關閉自動提交模con.setAutoCommit(false);} .......}catch (Throwable ex) { .......}}總結

MySQL的autocommit模式默認是打開狀態,為了防止手動的DML操作導致失誤,生產環境可以設置為默認關閉的狀態。一般的jdbc 連接池默認都是開啟狀態,而且是可配置的。顯式事務下會設置成關閉狀態,單純的修改數據庫環境的autocommit不會對代碼的行為產生影響。

以上就是詳解MySQL與Spring的自動提交(autocommit)的詳細內容,更多關于MySQL 自動提交(autocommit)的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲男同1069视频| 韩国三级在线一区| 国产精品一区二区久久精品爱涩 | 欧美va亚洲va国产综合| 一区在线观看| 蜜桃精品视频在线| 一区二区三区在线免费播放| 精品国产91亚洲一区二区三区婷婷| 亚洲久久视频| 成人av在线影院| 免费观看久久久4p| 一区二区免费看| 久久蜜桃一区二区| 69精品人人人人| 久久亚洲电影| 一本色道久久精品| 欧美精品国产一区| 高清久久久久久| 视频一区二区三区中文字幕| 国产精品久久久久久久久免费相片 | 99热精品国产| 久久精品国产99久久6| 午夜成人免费视频| 亚洲欧美日韩小说| 综合分类小说区另类春色亚洲小说欧美 | 久久久久久久精| 在线电影一区二区三区| 91行情网站电视在线观看高清版| 亚洲福利国产| 欧美精品麻豆| 欧美日韩三级电影在线| 99视频一区二区| 91影院在线免费观看| 97se亚洲国产综合自在线| 99国产精品久久| 欧美日韩午夜| 最新日韩在线| 亚洲综合丁香| 日本精品一区二区三区四区的功能| 欧美亚洲免费| 欧美国内亚洲| 亚洲国产精选| 国产视频亚洲| 亚洲综合日本| 午夜亚洲性色福利视频| 久久国产高清| 欧美亚洲愉拍一区二区| 欧洲精品视频在线观看| 欧美日韩精品系列| 精品国产免费一区二区三区四区| 国产视频一区不卡| 综合激情成人伊人| 亚洲一区二区四区蜜桃| 免费一级片91| 成人在线视频一区| 午夜精品婷婷| 久久精彩视频| 91麻豆精品国产综合久久久久久| 精品国产一区二区精华 | 99精品欧美一区二区三区小说| 欧美另类亚洲| 国产三级精品在线不卡| 一本色道久久综合精品竹菊| 欧美熟乱第一页| 日韩美女视频在线| 国产精品乱人伦一区二区| 亚洲影院在线观看| 久久精品免费观看| 91在线国内视频| 国产精品国产三级欧美二区 | 国产欧美日韩综合精品一区二区| 亚洲视频狠狠干| 久久精品72免费观看| 成人一级片在线观看| 欧美特黄视频| 91成人看片片| 中文字幕第一页久久| 日韩av电影一区| 99热99精品| 美日韩精品免费| 欧美精品一区二区三区蜜桃| 一区二区三区四区不卡在线 | 久久久噜噜噜久噜久久综合| 亚洲午夜电影网| 成人av午夜电影| 久久99伊人| 2023国产精品| 日本中文字幕一区二区有限公司| 不卡av在线免费观看| 一区二区动漫| 欧美成人vps| 青青草国产精品亚洲专区无| 欧美日韩视频一区二区三区| 国产九九精品| 国产亚洲1区2区3区| 老司机精品视频线观看86| 亚洲午夜精品久久久久久浪潮| 欧美理论在线播放| 亚洲一区在线看| 午夜欧美理论片| 欧美精品久久久久久久多人混战| 亚洲国产精品精华液ab| 国产老妇另类xxxxx| 久久福利毛片| 亚洲图片你懂的| av电影在线观看一区| 一本大道久久a久久综合| 国产精品素人一区二区| 国产一区二区在线观看视频| 亚洲欧美日韩在线观看a三区 | 成人福利电影精品一区二区在线观看| 久久精品观看| 亚洲欧美经典视频| 91视频一区二区三区| 91精品久久久久久久久99蜜臂| 亚洲一区二区美女| 欧美日韩妖精视频| 精品国产乱码久久久久久闺蜜| 久久99精品久久久久婷婷| 亚洲深夜av| 亚洲人成人一区二区在线观看| 欧美成人午夜| 久久女同精品一区二区| 国产一区 二区| 欧美日韩在线不卡| 青青草原综合久久大伊人精品 | 美脚の诱脚舐め脚责91 | 久久99精品久久久久久国产越南| 一区二区冒白浆视频| 欧美激情综合在线| 欧美日韩高清免费| 国产无遮挡一区二区三区毛片日本| 福利视频网站一区二区三区| 欧美丰满美乳xxx高潮www| 精品亚洲成a人在线观看| 欧美日韩不卡视频| 国产精品一区二区在线播放| 欧美三级视频在线| 激情亚洲综合在线| 制服丝袜日韩国产| 丁香激情综合国产| 久久久久99精品一区| 99久久精品免费看国产| 欧美精品一区二区三区蜜桃视频| 成人不卡免费av| 久久精品一区四区| 亚洲午夜精品久久| 一区二区三区**美女毛片| 欧美综合二区| 国产一区二区h| 国产欧美日韩在线| 亚洲看片网站| 美女精品自拍一二三四| 一区二区三区产品免费精品久久75| 国产人成亚洲第一网站在线播放 | 久久综合中文| 久久国产日本精品| 亚洲一区精彩视频| 国产亚洲永久域名| 99热免费精品| 激情丁香综合| 黄色在线成人| 亚洲视频免费| 亚洲网友自拍| 91猫先生在线| 久久久久久久网| 一区二区三区福利| 久久99精品久久久久久动态图 | 国产精品99久久久久久有的能看 | 国产高清精品网站| 久久久精品tv| 亚洲午夜在线观看| 天堂蜜桃一区二区三区| 91精品国产全国免费观看| 欧美视频一区| 日韩福利电影在线观看| 日韩美女主播在线视频一区二区三区| 欧美日韩国产精品一区二区亚洲 | 亚洲尤物精选| 大胆亚洲人体视频| 1024成人网| 欧美日韩激情一区二区三区| 91丨九色丨尤物| 午夜激情久久久| 精品国产免费一区二区三区四区| 国产精品腿扒开做爽爽爽挤奶网站| 国产乱码精品一品二品| 一区二区三区波多野结衣在线观看| 欧美一区二区视频在线观看2020 | 亚洲男同性恋视频| 538在线一区二区精品国产| 亚洲高清视频一区二区| 经典三级在线一区| 中文字幕亚洲不卡| 欧美日韩视频在线一区二区| 狠狠色伊人亚洲综合网站色| 国产成人丝袜美腿| 免费在线观看成人| 亚洲一区二区三区爽爽爽爽爽| 久久久久国产一区二区三区四区|