Spring简单入门======spring声明式事务

事务说白了就是一组操作要么同时成功要么同时失败
在这里插入图片描述
事务四个特性
1.原子性,要么同时成功,要么同时失败
2.一致性,操作前后总量一致
3.隔离性,多事务操作,彼此之间不会影响,多个方法操作同一条数据,彼此不能互相影响
4.持久性,事务提交之后不会出现变化

事务一般在service层开启
spring中事务有两种,编程式事务和声明式事务
编程式就是trycatch自己捕获异常提交回滚
声明式事务分为两种,注解和xml形式
事务底层是使用aop

spring中的事务接口platfromTranstionalmanger
在这里插入图片描述
mybatis中用datasourceTransationManger,在这个接口中针对不同的框架有不同的实现类

注解方式实现

在这里插入图片描述
01创建bean,注入数据源
02配置文件中引入名称空间
在这里插入图片描述
03.开启事务注解,在其中指定要使用哪个事务管理器
在这里插入图片描述
04在services上加注解@Transational
在这里插入图片描述
该注解可以加在类上也可以加在方法上
在这里插入图片描述
事务的传播行为
@Transational注解中可以加的属性
在这里插入图片描述
意思如下
在这里插入图片描述
事务的传播行为
在这里插入图片描述
意思就是一个有事务方法调用一个没事务方法应该怎么做,或者有事务调用有事务,也就是多事务方法进行互相之间调用的时候,这些事务应该怎么处理
这就是传播行为’
在这里插入图片描述

requard具体例子
在这里插入图片描述
required_new
在这里插入图片描述
事务的隔离级别
类比数据库的隔离级别
脏读问题,两个事务方法同时操作一条数据,一个事务可以读到另一个事务未提交的操作.
在这里插入图片描述
不可重复读问题,
一个未提交事务读取到另一个提交事务的修改数据
在这里插入图片描述
虚读,一个未提交事务,读到另一个提交事务添加的数据

通过设置事务的隔离性可以解决事务读的问题

在这里插入图片描述
在注解中设置隔离级别
在这里插入图片描述
mysql默认可重复读,不能解决幻读问题

关于超时时间,spring中默认是-1,也就是不超时
在这里插入图片描述
注解中设置
在这里插入图片描述
read onliy
在这里插入图片描述
在这里插入图片描述
回滚可设置异常类型,一些异常回滚,一些不会滚
在这里插入图片描述

事务操作, xml方式

01配置事务管理器
02配置通知
03配置切入点切面
在这里插入图片描述
在这里插入图片描述
事务操作(完全注解开发声明式事务管理)
01 给配置类加注解
在这里插入图片描述
02
数据库连接xml转注解
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加载配置类calss

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值