精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

關(guān)于MySQL事務(wù),你必須知道的幾個知識點!

運維 數(shù)據(jù)庫運維
上期我們講到了jpa的常用操作,查詢、更新、刪除等,但是如果在操作數(shù)據(jù)庫事務(wù)時發(fā)生異常 ,數(shù)據(jù)會回滾嗎?

 [[408136]]

Transaction事務(wù)

上期我們講到了jpa的常用操作,查詢、更新、刪除等,但是如果在操作數(shù)據(jù)庫事務(wù)時發(fā)生異常 ,數(shù)據(jù)會回滾嗎?下面我們來看個例子

UserController新增如下代碼:

  1. @GetMapping("save1"
  2.  
  3. public String save1(){ 
  4.     User user = new User(); 
  5.     user.setDptId(1L); 
  6.     user.setName("a"); 
  7.     user.setAge(18L); 
  8.     user.setEmail("a@a.com"); 
  9.     user.setHeadImg("headImg1"); 
  10.  
  11.     this.userJpa.save(user); 
  12.     //模擬發(fā)生了異常 
  13.     System.out.println(1/0); 
  14.     return "ok"

使用postman請求

  1. localhost:8080/user/save1 

執(zhí)行之后可以看到j(luò)ava后臺報錯了,postman前臺也報出來錯誤,但是數(shù)據(jù)卻保存進(jìn)去了,數(shù)據(jù)新增了一條記錄

說明即使發(fā)生了異常,數(shù)據(jù)還是會保存進(jìn)去數(shù)據(jù)庫,那應(yīng)該怎么辦呢?試試在save1方法上加一個@Transactional的注解。

我們再執(zhí)行一次。發(fā)現(xiàn)錯誤也報出來了,但是數(shù)據(jù)庫并沒有將新數(shù)據(jù)插入進(jìn)去,最新的還是上一次的id為7的記錄,那么 Transactional注解是干嘛的呢?

@Transactional是聲明式事務(wù)管理編程中使用的注解

  1. 該注解是添加在實現(xiàn)類或者 接口 實現(xiàn)方法上,而不能放在 接口 中
  2. 需要注意的是這個注解只對public方法生效

如下是該注解的屬性,我們需要關(guān)注重點關(guān)注的是rollback-for和propagation兩個屬性。

屬性名 說明
name 當(dāng)在配置文件中有多個 TransactionManager , 可以用該屬性指定選擇哪個事務(wù)管理器。
propagation 事務(wù)的傳播行為,默認(rèn)值為 REQUIRED。
isolation 事務(wù)的隔離度,默認(rèn)值采用 DEFAULT。
timeout 事務(wù)的超時時間,默認(rèn)值為-1。如果超過該時間限制但事務(wù)還沒有完成,則自動回滾事務(wù)。
read-only 指定事務(wù)是否為只讀事務(wù),默認(rèn)值為 false;為了忽略那些不需要事務(wù)的方法,比如讀取數(shù)據(jù),可以設(shè)置 read-only 為 true。
rollback-for 用于指定能夠觸發(fā)事務(wù)回滾的異常類型,如果有多個異常類型需要指定,各類型之間可以通過逗號分隔。
no-rollback- for 拋出 no-rollback-for 指定的異常類型,不回滾事務(wù)。

rollback-for:只有執(zhí)行的異常才回滾。但是我們剛剛的程序并沒有指定異常,那是默認(rèn)的是遇到什么樣的異常會回滾呢?

  1. 將UserController中的代碼稍作修改,手動 throw new Exception("test") ,再執(zhí)行下postman,發(fā)現(xiàn)事務(wù)提交了,并沒有回滾。
  2. 接著我們將注解修改為 @Transactional(rollbackFor = Exception.class) ,再執(zhí)行postman,事務(wù)卻回滾了,并沒有提交,什么原因?
  3. spring的 @Transactional 注解可以很方便的開啟事務(wù),但是默認(rèn)只在遇到 運行時異常 和 Error 時才會回滾,非運行時異常不回滾,即 Exception 的子類中,除了 RuntimeException 及其子類,其他的類默認(rèn)不回滾。
  4. 而rollbackFor屬性可以解決這個問題, rollbackFor = Exception.class 表示 Exception 及其子類的異常都會觸發(fā)回滾,同時不影響 Error 的回滾。

propagation:這個用得最廣的需求就是業(yè)務(wù)出錯了,但是日志必須提交到數(shù)據(jù)庫。怎么處理?來看下面的代碼。

新增LogService類

  1. @Service 
  2.  
  3. public class LogService { 
  4.     @Resource 
  5.     private UserJpa userJpa; 
  6.  
  7.     @Transactional(propagation = Propagation.REQUIRES_NEW) 
  8.     public void saveLog(){ 
  9.         User user = new User(); 
  10.         user.setDptId(1L); 
  11.         user.setName("log"); 
  12.         user.setAge(18L); 
  13.         user.setEmail("log@log.com"); 
  14.         user.setHeadImg("log"); 
  15.  
  16.         this.userJpa.save(user); 
  17.         System.out.println("log"); 
  18.     } 

新增UserService類:

  1. @Service 
  2.  
  3. public class UserService { 
  4.     @Resource 
  5.     private UserJpa userJpa; 
  6.     @Resource 
  7.     private LogService logService; 
  8.  
  9.     @Transactional(rollbackFor = Exception.class
  10.     public void saveBiz() throws Exception { 
  11.         System.out.println("save2"); 
  12.         User user = new User(); 
  13.         user.setDptId(1L); 
  14.         user.setName("biz"); 
  15.         user.setAge(18L); 
  16.         user.setEmail("biz@biz.com"); 
  17.         user.setHeadImg("biz"); 
  18.  
  19.         this.userJpa.save(user); 
  20.  
  21.         //模擬保存日志 
  22.         this.logService.saveLog(); 
  23.         //模擬發(fā)生了異常 
  24.         throw new Exception("test1"); 
  25.     } 

UserController新增代碼

  1. @GetMapping("save2"
  2.  
  3. public String save2() throws Exception { 
  4.     //模擬業(yè)務(wù)操作 
  5.     this.userService.saveBiz(); 
  6.     return "ok"

postman執(zhí)行下,是不是只有l(wèi)og的那條記錄插入進(jìn)去了?biz的沒有插入進(jìn)去。

注意:同一個業(yè)務(wù)類里面 , 即使聲明為 Propagation.REQUIRES_NEW 也不會新啟一個事務(wù)。必須調(diào)用另一個類的 Propagation.REQUIRES_NEW 方法才行。所以樣例中是使用 UserService 里面調(diào)用另一個類 LogService 中的 saveLog 的方法。

 

責(zé)任編輯:張燕妮 來源: 博客園
相關(guān)推薦

2020-02-28 14:05:00

Linuxshell命令

2017-12-07 15:47:25

2017-12-07 15:28:36

2017-10-11 15:50:18

光纖通信傳輸

2021-03-01 07:34:42

Java泛型ArrayList

2019-05-30 08:25:50

5G4G網(wǎng)絡(luò)

2012-11-05 09:19:37

2011-12-16 17:05:58

2010-06-25 09:18:43

MySQLOracle

2009-06-04 10:20:34

Hibernate持久化Java

2017-10-17 15:18:58

綜合布線網(wǎng)絡(luò)

2012-02-08 09:44:05

ChromeAndroid

2011-05-13 11:41:55

2019-06-05 15:43:46

固態(tài)硬盤PC

2009-04-01 11:39:39

視圖DB2

2012-09-29 10:29:56

.Net內(nèi)存分配繼承

2012-09-29 09:22:24

.NETGC內(nèi)存分配

2021-10-29 08:44:22

推拉機制面試broker

2016-06-29 13:50:12

云計算

2015-05-29 09:45:42

Google IOA
點贊
收藏

51CTO技術(shù)棧公眾號

竹菊久久久久久久| 日本一道高清亚洲日美韩| 成人性生交大片免费看中文网站| 亚州成人av在线| 级毛片内射视频| 精品国产三级| 欧美性xxxxhd| 肉大捧一出免费观看网站在线播放 | 一区二区欧美国产| 免费在线一区二区| 精品国产免费无码久久久| 久久激情综合| 欧美大片在线影院| 天堂网av2018| 夜夜春成人影院| 精品国产一二三| 9l视频白拍9色9l视频| 国产免费拔擦拔擦8x高清在线人| 中文子幕无线码一区tr| 久久久久se| 亚洲高清视频在线播放| 久久精品国产成人一区二区三区 | 亚洲国产欧美一区二区三区不卡| 丁香六月天婷婷| 韩国一区二区三区| 国产精品6699| 日韩欧美中文字幕一区二区| 综合久久99| xxx一区二区| 亚洲第一香蕉网| 欧美亚洲大陆| 精品噜噜噜噜久久久久久久久试看| 91小视频网站| 欧美大片免费| 欧美日韩久久久久| 国产综合中文字幕| 欧美理论片在线播放| 亚洲欧美综合色| 午夜欧美一区二区三区免费观看| 午夜国产在线观看| 波波电影院一区二区三区| 91超碰rencao97精品| 91一区二区视频| 免费人成黄页网站在线一区二区| 欧美有码在线视频| 午夜精品三级久久久有码| 伊人久久婷婷| 高清欧美一区二区三区 | 色综合久久综合网欧美综合网| 国产手机免费视频| 成人影音在线| 香蕉影视欧美成人| 欧美在线一区视频| 午夜影院一区| 91福利小视频| 美女网站色免费| 欧美高清影院| 欧美一区二区三区人| 男生和女生一起差差差视频| 日韩高清一区| 亚洲第一精品自拍| 人妻丰满熟妇av无码久久洗澡 | 亚洲精品一区二区三区99| 国产免费a级片| 美女av一区| 亚洲男人天天操| 嘿嘿视频在线观看| 性xxxx欧美老肥妇牲乱| 美女性感视频久久久| 强行糟蹋人妻hd中文| 在线亚洲国产精品网站| 国产成人精品亚洲精品| 一级二级三级视频| 成人做爰69片免费看网站| 欧美成人免费在线| 天天综合视频在线观看| 一区二区三区色| 国产精品久久中文字幕| 免费福利视频一区二区三区| 欧美色老头old∨ideo| 伊人精品视频在线观看| 老牛国内精品亚洲成av人片| 在线观看欧美日韩国产| 欧美激情精品久久| 久久av在线| 91久久在线视频| 人妻妺妺窝人体色www聚色窝| 久久综合狠狠综合久久综合88| 亚洲开发第一视频在线播放| 污污片在线免费视频| 色综合久久综合| 亚洲一二三av| 欧美亚洲色图校园春色| 日韩中文综合网| 久久久久久久久久免费视频 | 国产成人精品网站| 国产aⅴ爽av久久久久成人| 99久久精品情趣| 中文字幕日韩精品一区二区| rebdb初裸写真在线观看| 在线一区二区三区| 欧美成人精品一区二区综合免费| 国产成人黄色| 欧美激情一区二区久久久| 亚洲毛片一区二区三区| 丁香婷婷深情五月亚洲| 日韩欧美视频第二区| 大黄网站在线观看| 欧美久久一二区| 97伦伦午夜电影理伦片| 激情国产一区| 91探花福利精品国产自产在线| 欧美日韩国产综合视频 | 成人在线免费高清视频| 成人在线爆射| 亚洲精品wwwww| 国产1区2区3区4区| 久久精品国产99国产| 国产一区福利视频| 中国av在线播放| 欧美日韩在线亚洲一区蜜芽| 美国黄色a级片| 极品中文字幕一区| 91中文字精品一区二区| 里番在线观看网站| 色欧美片视频在线观看在线视频| 亚洲av无一区二区三区久久| 成人一区不卡| 国产成人啪精品视频免费网| 亚洲av电影一区| 亚洲成年人影院| 少妇献身老头系列| 综合激情网站| 91在线国产电影| 久久久久久国产精品免费无遮挡| 欧美专区日韩专区| wwwwww日本| 久久精品电影| 欧美一区1区三区3区公司 | 男女性杂交内射妇女bbwxz| 在线一区电影| 亚洲在线免费视频| av黄在线观看| 日韩欧美在线123| 激情小说中文字幕| 国产成人免费在线视频| 国产日韩欧美大片| 欧美二区观看| 欧美激情va永久在线播放| 亚洲va欧美va| 午夜伦欧美伦电影理论片| 欧美激情第3页| 婷婷综合在线| 91成人免费看| 欧美人与性动交α欧美精品图片| 日韩色视频在线观看| 校园春色 亚洲| 丁香啪啪综合成人亚洲小说| 精品免费久久久久久久| jizzjizzjizz欧美| 性色av一区二区三区免费| 天天干,天天操,天天射| 欧美色xxxx| www亚洲色图| 黄色小说综合网站| 屁屁影院ccyy国产第一页| 国产精品久久久久久久久久白浆| 91国语精品自产拍在线观看性色| 日本韩国精品一区二区| 欧美性猛交一区二区三区精品| 极品色av影院| www.99精品| 日本美女高潮视频| 中文字幕乱码亚洲无线精品一区| 国产一区高清视频| 欧美日一区二区三区| 裸体女人亚洲精品一区| 四虎在线视频免费观看| 在线精品观看国产| www.99re7| 26uuu久久天堂性欧美| 天天天干夜夜夜操| 欧美欧美全黄| 日韩精品伦理第一区| 成人在线视频国产| 91精品国产高清自在线看超| av资源种子在线观看| 日韩一级大片在线| 久久永久免费视频| 玉米视频成人免费看| 国产色视频一区二区三区qq号| 麻豆免费精品视频| 超碰超碰超碰超碰超碰| 啄木系列成人av电影| 亚洲综合视频1区| 欧美艳星kaydenkross| 免费不卡在线观看av| 黄色av网址在线免费观看| 日韩欧美国产精品| 中文字幕av资源| 亚洲福利一区二区三区| 亚洲欧美另类日本| 91美女片黄在线观看| 亚洲视频一二三四| 亚洲欧美日本视频在线观看| 欧美做受777cos| 日韩精品永久网址| 欧美极品日韩| 国产精品美女在线观看直播| 日本精品中文字幕| 日韩影视在线| 北条麻妃一区二区三区中文字幕| 日韩美女一级视频| 精品剧情v国产在线观看在线| 亚洲第一区av| 婷婷综合另类小说色区| 欧美成人三级在线观看| 久久亚洲综合av| 性色av蜜臀av浪潮av老女人| 韩国v欧美v日本v亚洲v| 手机视频在线观看| 另类图片国产| 亚洲午夜精品久久久久久人妖| 午夜精品久久99蜜桃的功能介绍| 亚洲欧美日产图| 丝袜av一区| 国产伦精品一区二区三区| 日本一区二区乱| 91九色综合久久| 国产毛片精品久久| 国产精品美女www爽爽爽视频| 亚洲天堂av影院| 18一19gay欧美视频网站| 免费不卡av| 国产+成+人+亚洲欧洲| 欧美hdxxxxx| 欧美激情综合亚洲一二区| 超碰在线观看免费| 久久最新资源网| www在线免费观看视频| www国产91| 免费不卡视频| 欧美人交a欧美精品| 超碰公开在线| 欧美第一淫aaasss性| 最新国产在线拍揄自揄视频| 欧美国产在线电影| 羞羞污视频在线观看| 欧美精品日韩www.p站| h片在线播放| 美女少妇精品视频| 黄色羞羞视频在线观看| 久久久久亚洲精品| 狠狠操一区二区三区| 91精品国产91久久久久久不卡| sis001欧美| 国产精品人人做人人爽| 香蕉久久久久久| 亚洲aⅴ男人的天堂在线观看 | 日韩欧美国产三级电影视频| 亚洲精品一级片| 日韩精品中文字幕视频在线| 日本一级在线观看| 在线精品国产欧美| 黄网页免费在线观看| 欧美日韩爱爱视频| 97人人爽人人澡人人精品| 热门国产精品亚洲第一区在线| 视频二区不卡| 91久久嫩草影院一区二区| 澳门成人av| 日本一区二区三区视频在线观看 | 日韩在线视频在线观看| 日本成人中文字幕| xxx中文字幕| a在线欧美一区| 蜜桃久久精品成人无码av| 亚洲欧洲日韩一区二区三区| 日产精品久久久久久久| 一本色道久久综合狠狠躁的推荐| 91精品国产乱码久久久久| 欧美va在线播放| 欧美套图亚洲一区| 超碰精品一区二区三区乱码 | 国产精品免费观看在线| 玖玖玖视频精品| 欧美久久电影| 欧美一区二区三区另类| av动漫免费看| 国产精品一二三| 熟女俱乐部一区二区| 亚洲激情av在线| 蜜臀精品一区二区三区| 日韩精品在线网站| 国产高清视频免费最新在线| 欧美另类极品videosbest最新版本 | 天堂在线观看av| 色狠狠久久aa北条麻妃| sm性调教片在线观看| 国产日韩欧美另类| 自拍欧美一区| 欧美精品久久久久久久久久久| 另类小说一区二区三区| jizz日本免费| 亚洲精品五月天| 亚洲午夜精品久久久| 日韩av影视综合网| 性网站在线观看| 国产精品啪视频| 亚洲免费福利一区| bt天堂新版中文在线地址| 美女尤物国产一区| 国精品无码人妻一区二区三区| 一区二区三区精品久久久| 中文字幕在线视频免费| 精品亚洲一区二区三区在线观看| 日本aa在线| 亚洲最大成人在线| 久久国产电影| 五月天婷婷激情视频| 久久蜜臀中文字幕| 久久久久久久久久久久久av| 精品国产一区二区三区av性色| 男人天堂久久久| 国产精品激情自拍| 奇米亚洲欧美| 欧美 日韩 国产一区| 成人污污视频在线观看| 欧美黑吊大战白妞| 日韩一区二区三区在线| 久久99精品久久| 91色p视频在线| 欧美国产一级| 欧美激情第一区| 亚洲视频在线一区观看| 国产一区二区在线视频观看| 最近2019中文字幕mv免费看| 国产一区二区三区朝在线观看| 欧洲在线视频一区| 天堂在线一区二区| 少妇精品无码一区二区免费视频| 日韩欧美国产免费播放| 人人九九精品| 国产成人精品久久二区二区91 | 99精品美女视频在线观看热舞| 亚洲在线视频一区二区| 久久99国产乱子伦精品免费| 黑人狂躁日本娇小| 欧美一区二区三区在线观看| 怡红院红怡院欧美aⅴ怡春院| 91在线在线观看| 亚洲毛片播放| 四虎影成人精品a片| 91国产免费看| 日本不卡三区| 91gao视频| 亚洲欧洲视频| 老司机福利av| 欧美人狂配大交3d怪物一区| 黄色在线论坛| 国产精品日韩欧美一区二区| 一本久久综合| 久久久视频6r| 91精品欧美福利在线观看| 日本片在线观看| 久99久在线| 麻豆成人免费电影| 久久成人在线观看| 亚洲精品一区在线观看香蕉| 欧美aaa视频| 无码人妻aⅴ一区二区三区日本| 高清国产一区二区| 欧美日韩乱国产| 伊人激情综合网| 在线日韩成人| 国语对白做受xxxxx在线中国| 中文字幕一区二区三区av| 性网爆门事件集合av| 欧洲永久精品大片ww免费漫画| 欧美成人激情| 国产 xxxx| 欧美日韩精品一二三区| heyzo一区| 亚洲欧美日韩国产成人综合一二三区| 国产成人精品一区二区三区四区 | 日韩va亚洲va欧洲va国产| 成人天堂yy6080亚洲高清| 最新精品视频| 91欧美激情一区二区三区成人| 亚洲一区二区激情| 51久久精品夜色国产麻豆| 欧美激情另类| 最新中文字幕视频| 欧美一区二区三区播放老司机 | 国产日韩综合一区二区性色av| 精品69视频一区二区三区Q| 精品人妻中文无码av在线| 亚洲精品ady| 亚洲高清999| 一区二区三区视频网|