spring分布式事务学习笔记(2)
此文已由作者夏昀授權(quán)網(wǎng)易云社區(qū)發(fā)布。
歡迎訪問網(wǎng)易云社區(qū),了解更多網(wǎng)易技術(shù)產(chǎn)品運營經(jīng)驗。
Model類如下:package com.xy.model
1?package?com.xy.model;2?3?/**4??*?Created?by?helloworld?on?2015/1/30.5??*/6?public?class?NameQa?{7?????private?long?id;8?????private?String?nameQa;9? 10?????public?long?getId()?{ 11?????????return?id; 12?????} 13? 14?????public?void?setId(long?id)?{ 15?????????this.id?=?id; 16?????} 17? 18?????public?String?getNameQa()?{ 19?????????return?nameQa; 20?????} 21? 22?????public?void?setNameQa(String?nameQa)?{ 23?????????this.nameQa?=?nameQa; 24?????} 25?}1?package?com.xy.model;2?3?/**4??*?Created?by?helloworld?on?2015/1/30.5??*/6?public?class?NameDev?{7?????private?long?id;8?????private?String?nameDev;9? 10?????public?long?getId()?{ 11?????????return?id; 12?????} 13? 14?????public?void?setId(long?id)?{ 15?????????this.id?=?id; 16?????} 17? 18?????public?String?getNameDev()?{ 19?????????return?nameDev; 20?????} 21? 22?????public?void?setNameDev(String?nameDev)?{ 23?????????this.nameDev?=?nameDev; 24?????} 25?}qa數(shù)據(jù)源的mybatis mapper接口 package com.xy.dao
1?package?com.xy.dao;2?3?import?com.xy.model.NameQa;4?5?/**6??*?Created?by?helloworld?on?2015/1/30.7??*/8?public?interface?NameQaMapper?{9?????int?insert(NameQa?nameQa); 10?}dev數(shù)據(jù)源的mybatis mapper接口 package com.xy.devdao
1?package?com.xy.daodev;2?3?import?com.xy.model.NameDev;4?5?/**6??*?Created?by?helloworld?on?2015/1/30.7??*/8?public?interface?NameDevMapper?{9?????int?insert(NameDev?nameDev); 10?}處理事務(wù)的service
1?package?com.xy.service;2?3?import?com.xy.dao.NameQaMapper;4?import?com.xy.daodev.NameDevMapper;5?import?com.xy.model.NameDev;6?import?com.xy.model.NameQa;7?import?org.springframework.beans.factory.annotation.Autowired;8?import?org.springframework.stereotype.Service;9?import?org.springframework.transaction.annotation.Transactional;10? 11?/** 12??*?Created?by?helloworld?on?2015/1/30. 13??*/ 14?@Service 15?public?class?NameService?{ 16?????@Autowired 17?????NameQaMapper?nameQaMapper; 18?????@Autowired 19?????NameDevMapper?nameDevMapper; 20? 21?????@Transactional(rollbackFor?=?Exception.class) 22?????public?void?addQaAndDev(boolean?hasException)?throws?Exception?{ 23?????????NameQa?nameQa?=?new?NameQa(); 24?????????nameQa.setNameQa("qa"); 25?????????nameQaMapper.insert(nameQa); 26? 27?????????NameDev?nameDev?=?new?NameDev(); 28?????????nameDev.setNameDev("dev"); 29?????????nameDevMapper.insert(nameDev); 30? 31?????????if(hasException)?{ 32?????????????throw?new?Exception(); 33?????????} 34?????} 35? 36? 37?}controller代碼
1?package?com.xy.controller;2?3?import?com.xy.service.NameService;4?import?org.springframework.beans.factory.annotation.Autowired;5?import?org.springframework.stereotype.Controller;6?import?org.springframework.ui.ModelMap;7?import?org.springframework.web.bind.annotation.RequestMapping;8?import?org.springframework.web.bind.annotation.RequestMethod;9?import?org.springframework.web.bind.annotation.RequestParam; 10? 11?/** 12??*?Created?by?helloworld?on?2014/11/22. 13??*/ 14?@Controller 15?public?class?mybatisController?{ 16? 17?????@Autowired 18?????NameService?nameService; 19? 20?????@RequestMapping(value?=?"/addName",?method?=?RequestMethod.POST) 21?????ModelMap?addName(@RequestParam("hasException")?boolean?hasException)?{ 22?????????try?{ 23?????????????nameService.addQaAndDev(hasException); 24?????????}?catch?(Exception?e)?{ 25?????????????e.printStackTrace(); 26?????????????return?new?ModelMap("false"); 27?????????} 28?????????return?new?ModelMap("true"); 29?????} 30? 31? 32?}將項目打成war包,命名為mybatis.war部署在tomcat上。
測試:
request parameters: hasException=false
返回:true 數(shù)據(jù)添加成功
request parameters: hasException=true
返回:false 兩個數(shù)據(jù)庫數(shù)據(jù)都未添加
網(wǎng)易云免費體驗館,0成本體驗20+款云產(chǎn)品!?
更多網(wǎng)易技術(shù)、產(chǎn)品、運營經(jīng)驗分享請點擊。
相關(guān)文章:
【推薦】?從海報視覺到網(wǎng)頁設(shè)計
【推薦】?【你離硅谷只差一步】網(wǎng)易中國創(chuàng)業(yè)家大賽項目火熱征集中
【推薦】?關(guān)于Runtime.getRuntime().exec()產(chǎn)生阻塞的2個陷阱
轉(zhuǎn)載于:https://www.cnblogs.com/zyfd/p/9870097.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的spring分布式事务学习笔记(2)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦幻新诛仙手游河阳城风雨桥在哪里
- 下一篇: Ocelot中文文档入门