tnblog
首页
视频
资源
登录

事务基础概念&Spring事务核心对象简介 01

3558人阅读 2022/7/21 19:18 总访问:1409174 评论:0 收藏:0 手机
分类: spring

一、

二、事务隔离级

脏读:允许读取未提交的信息

  • 原因: Read uncommitted(读了未提交的数据)

  • 解决方案: Read committed(表级读锁)

不可重复读:读取过程中单个数据发生了变化(如:第1次读完数据后,该条数据被别人改了,第2次再读就导致两次数据不一致)

  • 解决方案: Repeatable read(行级写锁)

幻读:读取过程中数据条目发生了变化(如:第1次读完数据后,对表进行增删改等操作,第2次再读就导致两次数据不一致)

  • 解决方案: Serializable(表级写锁)

三、Spring事务核心对象

  • J2EE开发使用分层设计的思想进行,对于简单的业务层转调数据层的单一操作,事务开启在业务层或者数据层并无太大差别,当业务中包含多个数据层的调用时,需要在业务层开启事务,对数据层中多个操作进行组合并归属于同一个事务进行处理

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

  • PlatformTransactionManager

  • TransactionDefinition

  • TransactionStatus


1、PlatformTransactionManager

平台事务管理器实现类                         

  • DataSourceTransactionManager         适用于Spring JDBC或MyBatis                 

  • HibernateTransactionManager            适用于Hibernate3.0及以上版本                   

  • JpaTransactionManager                      适用于JPA                                                   

  • JdoTransactionManager                      适用于JDO                                                  

  • JtaTransactionManager                       适用于JTA


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

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

  • JTA(Java Transaction APl) Java E标准之一,允许应用程序执行分布式事务处理。与JDBC相比,JDBC事务则被限定在一个单一的数据库连接,而一个JTA事务可以有多个参与者,比如JDBC连接、JDO都以参与到一个JTA事务中

1.1、

2、

3、

刷新事务状态:如果操作过程中事务发生了变化,你可以刷新事务状态。

获取事务是否具有回滚存储点:如果你设有回滚点的话,可以看看是否具有回滚点,有回滚点和没有回滚点的操作是不一样的。一个是回滚全部,另一个是回滚一部分。


评价
没有个性,不需要签名
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术