大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 MyBatis事務(wù)創(chuàng)建和管理

MyBatis事務(wù)創(chuàng)建和管理

更新時(shí)間:2021-07-06 16:07:00 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1217次

1.什么是事務(wù)

事務(wù)是指的是一個(gè)業(yè)務(wù)上的最小不可再分單元,通常一個(gè)事務(wù)對應(yīng)了一個(gè)完整的業(yè)務(wù),而一個(gè)完整的業(yè)務(wù)需要批量的DML語句共同聯(lián)合完成。一般,同一個(gè)事務(wù)中的SQL語句是保存到數(shù)據(jù)庫中的同一個(gè)Transaction對象中,原因是Transaction具有一致性的特征,也就是說事務(wù)中如果有任何一條sql語句運(yùn)行失敗,那么這個(gè)事務(wù)中所有的SQL語句都會(huì)被判定為無效SQL。

2.事務(wù)管理方式(事務(wù)策略)

Mybatis管理事務(wù)是分為兩種方式:

(1)使用JDBC的事務(wù)管理機(jī)制,就是利用java.sql.Connection對象完成對事務(wù)的提交

(2)使用MANAGED的事務(wù)管理機(jī)制,這種機(jī)制mybatis自身不會(huì)去實(shí)現(xiàn)事務(wù)管理,而是讓程序的容器(JBOSS,WebLogic)來實(shí)現(xiàn)對事務(wù)的管理

在Mybatis的配置文件中可以配置事務(wù)管理方式如下:

mybatis事務(wù)

Mybatis提供了一個(gè)事務(wù)接口Transaction,以及兩個(gè)實(shí)現(xiàn)類jdbcTransaction和ManagedTransaction,當(dāng)spring與Mybatis一起使用時(shí),spring提供了一個(gè)實(shí)現(xiàn)類SpringManagedTransaction

Transaction接口:提供的抽象方法有獲取數(shù)據(jù)庫連接getConnection,提交事務(wù)commit,回滾事務(wù)rollback和關(guān)閉連接close,源碼如下:

mybatis事務(wù)

JdbcTransaction實(shí)現(xiàn)類:Transaction的實(shí)現(xiàn)類,通過使用jdbc提供的方式來管理事務(wù),通過Connection提供的事務(wù)管理方法來進(jìn)行事務(wù)管理,源碼如下:

mybatis事務(wù)

 ManagedTransaction實(shí)現(xiàn)類:通過容器來進(jìn)行事務(wù)管理,所有它對事務(wù)提交和回滾并不會(huì)做任何操作,源碼如下:

mybatis事務(wù)

SpringManagedTransaction實(shí)現(xiàn)類:它其實(shí)也是通過使用JDBC來進(jìn)行事務(wù)管理的,當(dāng)spring的事務(wù)管理有效時(shí),不需要操作commit/rollback/close,spring事務(wù)管理會(huì)自動(dòng)幫我們完成,源碼如下:

mybatis事務(wù)

三、Mybatis事務(wù)的創(chuàng)建方式源碼分析

Mybatis是基于工廠模式提供了對應(yīng)的事務(wù)類的生成工廠,比如:JdbcTransactionFactory、ManagedTransactionFactory。

注意:當(dāng)spring和mybatis整合一起的時(shí)候,mybatis提供了SpringManagedTransaction實(shí)現(xiàn)類,而與之對應(yīng)的事務(wù)工廠類為SpringManagedTransactionFactory

1.分析源碼:以JdbcTransactionFactory創(chuàng)建為原型分析(其他的具體源碼自行分析)

mybatis事務(wù)

JdbcTransactionFactory:創(chuàng)建JdbcTransaction事務(wù),源碼如下:

mybatis事務(wù)

當(dāng)然為了更好的理解Mybatis相關(guān)知識(shí),最好是先走一下Mybatis的啟動(dòng),關(guān)鍵是分析parseConfiguration方法中的EnvironmentElement方法中關(guān)于DataSource中相關(guān)配置并解析文件裝載到configuration的DataSource中的過程。

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"MyBatis事務(wù)創(chuàng)建和管理",希望對大家有幫助,想了解更多可查看Mybatis基礎(chǔ)教程,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 大学生一一级毛片在线播放 | 亚洲情综合五月天 | 亚洲欧美一区二区三区综合 | 中国美女一级a毛片录像在线 | 99国产精品免费视频 | 欧美成人综合在线 | 九色最新网址 | 国产激情视频一区二区三区 | 国产视频二 | 色婷婷狠狠五月综合天色拍 | 在线看日本吃奶孕交 | 日韩 亚洲 中文 图片 小说 | 亚洲国产小视频 | 一及黄色毛片 | 久久久精品国产四虎影视 | 337p日本大胆欧洲色噜噜高清 | 亚洲高清网站 | 国产精品视频视频久久 | 免费欧洲毛片a级视频老妇女 | 色片在线免费观看 | 香蕉成人影院 | 人人看97| 99久久中文字幕伊人情人 | 国产欧美日韩在线观看 | 欧美一级第一免费高清 | 日韩免费一区二区 | 日本一区二区成人教育 | jizz成熟丰满中国妇女 | 偷偷操不一样的久久 | 波多野结衣中文丝袜字幕 | 亚洲精品在线网站 | 最新中文字幕在线观看 | 毛片免费看| 一及黄色毛片 | 国产高清在线精品一区免费97 | 欧美成人一级毛片 | 亚洲欧美日韩一区 | 婷婷综合五月中文字幕欧美 | 日本不卡中文字幕一区二区 | 欧美日韩制服 | 亚洲精品国产成人99久久 |