当前位置:首页 > Java技术 > Spring boot 入门五:springboot 开启声明式事务

Spring boot 入门五:springboot 开启声明式事务

2022年11月09日 14:04:43Java技术8


springboot开启事务很简单,只需要一个注解@Transactional 就可以了。因为在springboot中已经默认对jpa、jdbc、mybatis开启了事务。这里以spring整合mybatis为例讲解声明式事务

数据源配置

这里的配置都基于前几讲的配置,之前spring整合mybatis 是基于注解实现CRUD操作,这次基于xml的配置文件。
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot
spring.datasource.username=root
spring.datasource.password=123456
batis.mapper-locations=classpath*:mybatis/*Mapper.xml
mybatis.type-aliases-package=org.pangu.springbootdemomy

通过配置mybatis.mapper-locations来指明mapper的xml文件存放位置,我是放在resources/mybatis文件下的。mybatis.type-aliases-package来指明和数据库映射的实体的所在包。

DAO层配置

@Repository
@Mapper
public interface IAccountMapperdAO {
int update(@Param("money") double money,@Param("id") int id);
}

service 层

@Service
public class AccountMapServiceImpl {
@Autowired
private IAccountMapperdAO accountMapperdAO;

@Transactional(rollbackFor = Exception.class)
public void transfer() {
accountMapperdAO.update(190, 1);
int i = 100 / 0;
accountMapperdAO.update(110, 2);
}
}
@Transactional,声明事务,并设计一个转账方法,用户1减10块,用户2加10块。在用户1减10 ,之后,抛出异常,即用户2加10块钱不能执行,当加注解@Transactional之后,两个人的钱都没有增减。当不加@Transactional,用户1减了10,用户2没有增加,即没有操作用户2 的数据。可见@Transactional注解开启了事物。

 

 

作者:霸王猿
来源链接:https://www.cnblogs.com/bape/p/8918802.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/java/68916.html

分享给朋友:

“Spring boot 入门五:springboot 开启声明式事务” 的相关文章

[springboot]Slf4j日志框架的体系结构

文章目录 一、五花八门的日志工具包 1.1. 日志框架 1.2.日志门面 1.3日志门面存在的意义...

SpringBoot之Hello World篇,使用eclipse+maven搭建SpringBoot工程

SpringBoot之Hello World篇,使用eclipse+maven搭建SpringBoot工程

首先来了解下什么是SpringBoot 百度百科:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬...

前后端分离,SpringBoot如何实现验证码操作

前后端分离,SpringBoot如何实现验证码操作

验证码的功能是防止非法用户恶意去访问登录接口而设置的一个功能,今天我们就来看看在前后端分离的项目中,SpringBoot是如何提供服务的。SpringBoot版本本文基于的Spring Boot的版本是2.6.7 。引入依赖captcha一款超简单的验证码生成,还挺好玩的.还有中文验证码,动态验证码...

SpringCloud简单实例

SpringCloud简单实例

SpringCloud简单实例 SpringCloud是基于SpringBoot,需要先了解SpringBoot的相关知识。 这里只是一个非常简单的包含注册表、服务提供者、服务消费者三者的例子。 源码见: https://github....

SpringCloud系列之版本选择

SpringCloud系列之版本选择

SpringBoot版本   进入Spring官网,查看当前SpringBoot版本:   当前最新版本是2.5.4 GA,如果单纯使用SpringBoot框架,那么选择2.5.4 GA就行。 GA即General Av...

Spring Boot 之 RESRful API 权限控制

Spring Boot 之 RESRful API 权限控制

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “简单,踏实~ 读书写字放屁” 一、为何用RESTful API 1.1 RESTful是什么? RESTful(Representational...

Spring Boot 2.0 WebFlux 上手系列课程:快速入门(一)

Spring Boot 2.0 WebFlux 上手系列课程:快速入门(一)

代码示例 本文示例读者可以通过查看下面仓库的中的 alibaba/java/ParentClass.java : Github:https://github.com/JeffLi1993/java-core-learning-exam...

Java回顾之Spring基础

Java回顾之Spring基础

这是针对Java进行回顾的一系列文章,这篇主要是和Spring基础相关。   第一篇:Java回顾之I/O   第二篇:Java回顾之网络通信   第三篇:Java回顾之多线程   第四篇:Java回顾之多线程同步   第五篇:Java回顾之集...

项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!

项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!

前言   系列文章:[传送门]   洗了个澡,准备写篇博客。然后看书了。时间 3 7 分。我慢慢规律生活,向目标靠近。                       &n...

Spring5:@Autowired注解、@Resource注解和@Service注解

什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点: 1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。