Spring-事务管理(一)

Spring-事务管理

事务回顾

事务的四个特征:ACID

  • 原子性
  • 一致性
  • 隔离性
  • 持久性
    在这里插入图片描述

不考虑事务的隔离性,会出现以下问题:
在这里插入图片描述

Spring为业务层提供了整套的事务解决方案

三个核心对象:
PlatformTransactionManager:平台事务管理接口
TransactionDefinition:
TransactionStatus:

1.PlatformTransactionManager:平台事务管理接口
平台事务管理实现类:

  • DataSourceTransactionManager 适用于Spring JDBC或Mybatis
  • HibernateTransactionManager 适用于Hibernate3.0及以上版本
  • JpaTransactionManager 适用于JPA
  • JdoTransactionManager 适用于JDO
  • JtaTransactionManager 适用于JTA

JPA(Java Persistence API) :为POJO提供持久化标准规范,并规范了持久化开发的统一API,符合JPA规范的开发可以在不同的JPA框架下运行。

JDO(Java Data Object ):是Java对象持久化规范,用于存取某种数据库中的对象,并提供标准化API。与JDBC相比,JDBC仅针对关系数据库进行操作,JDO可以扩展到关系数据库、文件、XML、对象数据库(ODBMS)等,可移植性更强

JTA(Java Transaction API):允许应用程序执行分布式事务处理。。与JDBC相比,JDBC事务则被限定在一个单一的数据库连接,而一个JTA事务可以有多个参与者,比如JDBC连接、JDO 都可以参与到一个JTA事务中
在这里插入图片描述

1.PlatformTransactionManager接口定义的基本操作:

获取事务: getTransaction(TransactionDefinition definition)
提交事务: commit(TransactionStatus status)
回滚事务: rollback(TransactionStatus status)

在这里插入图片描述

2.TransactionDefinition接口定义了事务的基本信息:

  • 获取事务的名称: String getName()
  • 获取事务的读写名称:boolean isReadOnly()
  • 获取事务的隔离级别:int getIsolationLevel()
  • 获取事务的超时时间:int getTimeout()
  • 获取事务的传播行为特征:int getPropagationBehavier()
    在这里插入图片描述

3.TransactionStatus接口定义了事务执行过程中在某个时间点上的状态信息和对应的状态操作

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值