Spring事务

目录

什么是事务

事务四个特性 (ACID)

事物操作(搭建环境)

​编辑

 事物操作(实现)

事务操作(注解声明式事物管理)

 事务操作(声明式事物管理参数配置)

1..在service类上添加注解@Transactional,可以配置以下参数

2.propagation:   事务传播行为

3. ioslation:事物隔离级别

4.timeout:超时时间

5.readOnly:是否只读

6.rollbackFor:回滚

7.noRollbackFor:不回滚

事务管理基于xml配置文件

1.在Spring配置文件中进行配置

事务操作 完全注解


什么是事务

1.事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败,则所有操作都失败

2.典型场景:银行转账

事务四个特性 (ACID)

1.原子性

2.一致性

3.隔离性

4.持久性

事物操作(搭建环境)

1.创建数据库表,添加记录

2. 创建service,搭建dao ,完成对象创建和注入关系

1》service注入dao,在dao中注入jdbxTemplate,在jdbxTemplate注入DateSource

Service

 dao

配置文件

 3.dao中的两个方法,在service中创建转账方法

dao接口

 dao实现类

 service

 测试

 4.上面代码正常没问题,出现异常,会有问题

1)使用事务来解决问题

 事物操作(实现)

1.事物添加到JavaEE三层结构的Service层(业务层)

2.在Spring中进行 事务管理操作

(1)有两种方式:编程式事务管理   /  声明式事物管理(常用)

3.声明式事物管理

        1》基于注解(常用)

        2》基于配置文件

4.声明式事物管理,底层使用AOP

5.事物管理常用API

         1》提供一个接口,代表事物管理器,这个接口针对不同的框架提供不同的实现类

 

 

事务操作(注解声明式事物管理)

1.在Spring配置文件中配置事物管理器

 2.在Spring配置文件开启事务注解

        1》Spring配置文件引入名称空间 tx

         2》开始事务注解

 3.在service类上或方法上添加注解

        1》 @Transactional,这个注解可以添加的类或方法上

        2》添加到类上,类中的所有方法都添加了注解

        3》添加到方法上,只为该方法添加注解

 事务操作(声明式事物管理参数配置)

1..在service类上添加注解@Transactional,可以配置以下参数

2.propagation:   事务传播行为

 1》多事务方法直接进行调用,这个过程中如何进行事务管理

 

 演示

3. ioslation:事物隔离级别

1》事务有特性成为隔离性 ,多事务操作之间不会产生影响,不考虑隔离性产生很多为题

2》三个读问题:脏读、不可重复读、虚读

3》脏读:一个未提交事事务读取到另一个未提交事务的数据

 4》不可重复读:一个未提交事务读取到另一个提交事务修改数据

 

  5》虚读:一个未提交事务读取到另一个提交事务添加数据

6》通过设置事务隔离性,来解决问题

 

演示

mysql默认 REPEATABLE READ

4.timeout:超时时间

1》事务要在一定时间内进行提交,如果不提交,进行回滚

2》默认值为-1,设置时间以秒为单位

 

5.readOnly:是否只读

1》读:查询操作,写:添加修改删除操作

2》readOnly默认值false,表示可以查询,可以添加修改删除操作

3》设置readOnly值为ture,只能查询

 

6.rollbackFor:回滚

 设置出现那些异常进行回滚

7.noRollbackFor:不回滚

 设置出现那些异常不进行回滚

事务管理基于xml配置文件

1.在Spring配置文件中进行配置

        1》配置事务管理器

 

        2》配置通知

 

 

 

 

        3》配置切入点和切面

 

事务操作 完全注解

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值