精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

欧美一区二区三区久久久| 波多野结衣先锋影音| sm国产在线调教视频| 成人综合激情网| 日本韩国欧美精品大片卡二| 亚洲欧洲综合网| 欧美成人基地| 欧美日韩在线播放一区| cao在线观看| 69av在线| av一区二区不卡| 91老司机在线| 色一情一乱一伦| 综合五月婷婷| 中文精品99久久国产香蕉| 欧美做受高潮中文字幕| 91tv亚洲精品香蕉国产一区| 亚洲午夜免费福利视频| 婷婷久久伊人| 深夜福利视频在线免费观看| 国产精一区二区三区| 日韩av大片免费看| 国产一级淫片免费| 国产精品videosex性欧美| 日韩精品中文字幕在线| 中文字幕 欧美 日韩| 九九久久国产| 色香蕉成人二区免费| 2019日韩中文字幕mv| 欧美r级在线| 国产人成一区二区三区影院| 精品国产乱码久久久久久郑州公司| 91在线视频国产| 青青草伊人久久| 欧美一区在线直播| 日本三级理论片| 亚洲情侣在线| 日韩中文字幕在线精品| 国产在线综合视频| 精品国产一区二区三区噜噜噜 | www五月婷婷| 蜜臀99久久精品久久久久久软件| 欧美一区二区三区图| 日韩av无码中文字幕| 欧美体内she精视频在线观看| www.亚洲天堂| 三级黄色免费观看| 欧美国产美女| www.日本久久久久com.| 啪啪一区二区三区| 国产精品传媒精东影业在线| 日韩中文在线视频| 很污很黄的网站| 视频在线不卡免费观看| 主播福利视频一区| 性生交大片免费全黄| 93在线视频精品免费观看| 中文字幕在线视频日韩| 亚洲色图日韩精品| 国产精品毛片一区二区在线看| 伊人一区二区三区久久精品| 91视频免费在观看| 欧美成人milf| 欧美xxxx做受欧美.88| 永久免费看黄网站| 影音先锋在线一区| 欧美最猛性xxxxx亚洲精品| 成年人av网站| 美女国产一区二区| 亚洲影视中文字幕| 色婷婷av一区二区三区之e本道| av电影在线观看一区| 欧美aaaaa喷水| 91涩漫在线观看| 亚洲欧美一区二区三区极速播放| 国产在线无码精品| segui88久久综合9999| 精品人伦一区二区三区蜜桃免费| 青青在线视频免费| 4438五月综合| 欧美精品一区二区三区高清aⅴ | 欧美在线性视频| 中文字幕+乱码+中文| 国产一区二区导航在线播放| 国产高清在线一区二区| 你懂的视频在线观看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 一区二区高清免费观看影视大全| 大j8黑人w巨大888a片| 亚洲a∨精品一区二区三区导航| 51午夜精品国产| 大尺度做爰床戏呻吟舒畅| 精品理论电影| 久久久久久亚洲精品中文字幕| 国产一级免费视频| 国产一区二区三区高清播放| 激情小说综合区| 精品自拍一区| 色呦呦日韩精品| 欧美性猛交xx| 成人羞羞网站入口免费| 欧美国产日本高清在线| 中文字幕人妻一区二区三区视频 | 久久久99爱| 麻豆网在线观看| 欧美日韩一区二区三区| 在线视频观看91| 少妇精品久久久一区二区| 精品自在线视频| 亚洲性猛交富婆| 99精品黄色片免费大全| 熟女熟妇伦久久影院毛片一区二区| 日本蜜桃在线观看视频| 日韩免费观看高清完整版 | 色哟哟日韩精品| 国产调教打屁股xxxx网站| 成人在线丰满少妇av| 88xx成人精品| 精品区在线观看| 国产精品久久久久婷婷| 国语对白做受xxxxx在线中国| 日韩区欧美区| 久久精品男人天堂| 欧美视频xxxx| 国产午夜亚洲精品羞羞网站| 男人插女人视频在线观看| 精品午夜视频| 久久精品国产96久久久香蕉| 精品无码一区二区三区的天堂| 99久久综合狠狠综合久久| 黄色成人在线免费观看| 4438五月综合| 久久精品99久久久久久久久 | 精品一区二区三区蜜桃| 日韩影视精品| 欧美性猛交xxx高清大费中文| 亚洲国产精品久久久久秋霞不卡| 青青草成人免费| 国产精品一级片在线观看| 国产高潮呻吟久久久| 欧美极品在线| 久久精品2019中文字幕| 136福利视频导航| 国产精品久久久久9999吃药| 日本激情视频在线播放| 热久久天天拍国产| 国产欧美亚洲视频| 中文字幕在线播放| 欧美美女喷水视频| 亚洲视频重口味| 国产一区二区三区观看| 免费看日本黄色| 欧美一区二区三区红桃小说| 午夜精品久久久久久久久久久久久| 亚洲精品久久久狠狠狠爱 | 懂色av蜜臀av粉嫩av喷吹| 国产午夜亚洲精品不卡| 另类小说第一页| 99精品全国免费观看视频软件| 91综合免费在线| 在线观看wwwxxxx| 精品国产一区二区在线观看| 国产对白videos麻豆高潮| 99re热视频这里只精品| 亚洲人成色77777| 久久在线免费| 99精品欧美一区二区三区| 99riav视频在线观看| 亚洲摸下面视频| 一级黄色片免费看| 亚洲午夜国产一区99re久久| 久久无码人妻精品一区二区三区| 久久国产66| 自拍另类欧美| 欧美日韩夜夜| 国产专区精品视频| 免费在线看电影| 亚洲视频axxx| 精品毛片一区二区三区| 午夜精品久久久久久久| 公肉吊粗大爽色翁浪妇视频| 国产综合久久久久久鬼色| 久久在线中文字幕| 国产一区网站| 痴汉一区二区三区| 嫩草伊人久久精品少妇av杨幂| 久久精视频免费在线久久完整在线看| 国产91免费看| 欧美视频一区二区在线观看| 毛片a片免费观看| 久久精品这里都是精品| 国内自拍偷拍视频| 奇米四色…亚洲| 日韩a级在线观看| 日韩三级在线| 精品国产综合区久久久久久| 卡通欧美亚洲| 亚洲综合专区| 成人3d动漫一区二区三区91| 玛雅亚洲电影| 美女黄色丝袜一区| 国产在线视频网址| 精品精品欲导航| 中文字字幕在线观看| 午夜精品久久久久久久蜜桃app| 日韩精品一区二区三区在线视频| av在线不卡观看免费观看| 污污的视频免费观看| 老司机一区二区三区| 成人免费在线视频播放| 成人综合久久| 欧美日韩综合网| 国产精品45p| 亚洲一区精品电影| 成人国产一区| 国产成人综合av| 午夜影院一区| 国产69精品久久久久9| 成人区精品一区二区不卡| 国产一区二区成人| 日本一区高清| 亚洲激情视频在线| 精品乱子伦一区二区| 欧美疯狂做受xxxx富婆| 国内av在线播放| 色天天综合色天天久久| 日本道在线观看| 亚洲动漫第一页| 久操免费在线视频| 亚洲精品视频在线看| 99久久精品久久亚洲精品| 欧美韩国日本一区| 色一情一交一乱一区二区三区 | av在线1区2区| 亚洲欧洲日产国码av系列天堂| 香港一级纯黄大片| 精品亚洲夜色av98在线观看| 日韩中文字幕免费观看| 日韩免费在线观看| 国产成人三级在线观看视频| 日韩你懂的在线播放| 亚洲精品成人区在线观看| 精品久久一区二区| 黄色小视频免费观看| 亚洲成人中文字幕| 婷婷婷国产在线视频| 亚洲区免费影片| 国产乱子伦三级在线播放| 国产亚洲视频在线| 91伦理视频在线观看| 精品国产一区二区三区久久狼5月| 思思99re6国产在线播放| 精品精品国产国产自在线| av网站免费在线观看| 欧美激情视频免费观看| av在线播放资源| 日本精品久久久| 在线成人视屏| 成人精品视频在线| 欧美h版在线观看| 国产精品免费在线| 九九免费精品视频在线观看| 日韩av一区二区三区在线| 热久久天天拍国产| 肉大捧一出免费观看网站在线播放| 狠狠88综合久久久久综合网| 精品人妻少妇一区二区| 久久久噜噜噜| 亚洲男人天堂2021| 成人黄色综合网站| 99久久人妻无码精品系列| 亚洲国产精品成人久久综合一区| 久久久久久久久久97| 亚洲精品国久久99热| 国内免费精品视频| 欧美性高清videossexo| 精品美女www爽爽爽视频| 日韩av一区在线| 色网站免费在线观看| 国产最新精品视频| 成人久久网站| 国产a一区二区| 青青草国产免费一区二区下载| 国产精品igao激情视频| 视频一区二区三区入口| 亚洲欧美日韩中文字幕在线观看| 久久久午夜精品理论片中文字幕| 亚洲女人毛茸茸高潮| 一级中文字幕一区二区| 波多野结衣在线电影| 欧美成人精品高清在线播放| 欧美精品少妇| 欧美黄色小视频| 欧美激情三区| 久久久久久久久久久久久9999| 99精品电影| 那种视频在线观看| 国产成人午夜电影网| 国产精品成人无码免费| 亚洲国产va精品久久久不卡综合| 中文字幕在线一| 日韩av一区二区在线观看| av免费在线网站| 国产精品高潮视频| 网曝91综合精品门事件在线| 中国老女人av| 日本欧美韩国一区三区| 好吊一区二区三区视频| 一区二区在线观看视频| 亚洲综合精品视频| 亚洲网站在线播放| 国产粉嫩在线观看| 丁香五月网久久综合| 国产高清欧美| 久久久精品麻豆| 久久久久久久综合日本| 国产精品xxxx喷水欧美| 欧美一卡二卡在线| 精品国产白色丝袜高跟鞋| 国产精品成人观看视频国产奇米| 超碰成人在线观看| 国产一二三四区在线观看| 美国三级日本三级久久99| 性の欲びの女javhd| 懂色av中文一区二区三区天美| 亚洲爆乳无码一区二区三区| 久久国产精品电影| 国产精品一区二区精品视频观看| 一区视频二区视频| 免费在线欧美视频| 精品人妻一区二区三区四区| 色综合天天综合色综合av| 婷婷av一区二区三区| 88xx成人精品| 亚洲免费专区| av片中文字幕| 国产欧美一区二区三区在线看蜜臀| 久久视频免费在线观看| 亚洲成人中文字幕| 日本三级一区| 欧美一区国产一区| 日本最新不卡在线| 少妇太紧太爽又黄又硬又爽小说 | 国产69精品久久久久99| 风间由美性色一区二区三区四区| 日日噜噜夜夜狠狠久久丁香五月| 狠狠色丁香婷综合久久| 久久免费看少妇高潮v片特黄 | 精品国产91久久久久久老师| 日本高清视频免费观看| 欧美中文在线免费| 欧美精品一二| 中文字幕视频三区| 亚洲精品第1页| 免费观看国产精品| 欧美野外猛男的大粗鳮| 北条麻妃国产九九九精品小说| 538任你躁在线精品免费| 亚洲三级在线免费| 高清毛片aaaaaaaaa片| 91产国在线观看动作片喷水| 久9久9色综合| 亚洲欧美日韩三级| 亚洲一区二区三区四区不卡 | 日韩亚洲综合在线| 久久伊人精品| 5月婷婷6月丁香| 中文一区在线播放| 亚洲成人77777| 日韩美女在线看| 五月久久久综合一区二区小说| 久草免费资源站| 色综合天天狠狠| a免费在线观看| 久久av一区二区三区漫画| 秋霞午夜鲁丝一区二区老狼| 永久免费看黄网站| 精品一区精品二区| 91视频亚洲| 国产女大学生av| 亚洲青青青在线视频| 日本天堂影院在线视频| 成人有码在线播放| 国产日韩免费| 小向美奈子av| 日韩精品一区二区三区第95| 亚洲欧美在线综合| 免费在线观看亚洲视频| 中文字幕在线观看一区二区| 蜜桃av噜噜一区二区三区麻豆| 国产精品999999| 黄色成人91| 亚洲欧美精品久久| 国产偷国产偷亚洲清高网站| 亚洲国产一区二区久久| 日韩精品视频一区二区在线观看| 中文字幕中文字幕一区二区| 免费在线性爱视频| 99久久伊人精品影院| 青青草国产成人99久久|