java 声明式事务

冷不防 2024-02-05 23:07 156阅读 0赞

在⽅法上增加@Transactional注解,就可以开启申明式事务

  1. ⾸先对于使⽤了@Transactional注解的Bean,Spring会创建⼀个代理对象作为Bean
  2. 当调⽤代理对象的⽅法时,会先判断该⽅法上是否加了@Transactional注解
  3. 如果加了,那么则利⽤事务管理器创建⼀个数据库连接
  4. 并且修改数据库连接的autocommit属性为false,禁⽌此连接的⾃动提交,这是实现Spring事务
    ⾮常重要的⼀步
  5. 然后执⾏当前⽅法,⽅法中会执⾏sql
  6. 执⾏完当前⽅法后,如果没有出现异常就直接提交事务
  7. 如果出现了异常,并且这个异常是需要回滚的就会回滚事务

    1 @Service
    2 public class UserService {

    3 @Transactional(isolation = Isolation.REPEATABLE_READ
    4 public void add(UserModel userModel) {

    5 saveData(userModel);
    6 updateData(userModel);
    7 }
    8 }

发表评论

表情:
评论列表 (有 0 条评论,156人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java 声明事务

    在⽅法上增加@Transactional注解,就可以开启申明式事务 1. ⾸先对于使⽤了@Transactional注解的Bean,Spring会创建⼀个代理对象作为Bea

    相关 Spring声明事务

    Spring声明式事务 1.事务的概念简单来说就是一个原子操作,要么操作中的几个动作全部执行,要么全部不执行。 2.ACID(原子性,一致性,隔离性和持久性)是事务应

    相关 声明事务

    编程式事务:指的是由程序员编写事务控制代码,包含事务的提交与回滚等。 声明式事务:事务控制代码已经由Spring写好,程序员只需要声明出哪些方法需要进行事务控制和如何进行事

    相关 Spring声明事务

    Spring的基本概述和开发: 事务概述 在JavaEE企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发

    相关 spring声明事务

    事务的介绍已经很多了,这里就不再介绍事务的基本特性了。 事务分两种:   一种式编程式事务,就像那种在jdbc中编写commit或rollback来提交或回滚事务,这中控制