1.Spring 的事务抽象

Spring提供了一致的事务模型

  • JDBC/Hibernate/Mybatis 操作数据
  • DataSource/JTA 事务

2.事务抽象的核心接口

PlatformTransactionManage

  • DateSourceTransactionManage
  • HibernateTransactionManage
  • JtaTransactionManage

TransactionDefinition

  • Propagation
  • lsolation
  • Timeout
  • Read-only status

3.事务传播特性7个

玩转Spring全家桶笔记 04 Spring的事务抽象、事务传播特性、编程式事务、申明式事务

4.事务隔离特性

玩转Spring全家桶笔记 04 Spring的事务抽象、事务传播特性、编程式事务、申明式事务

5.编程式事务

在spring 提供的事务里面经常用下面两种进行事务的操作

TransactionTemplate

  • TransactionCallback
  • TransactionCallbackWithoutResult

PlatformTransactionManage

  • 可以传入TransactionDefinition

6.测试编程式事务

@SpringBootApplication
public class DemoApplication implements CommandLineRunner {

    @Autowired
    private TransactionTemplate transactionTemplate;
    
    @Autowired
    private JdbcTemplate jdbcTemplate;
    
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        
        System.out.println("事务执行前---》"+getCount());
        
        transactionTemplate.execute(new TransactionCallbackWithoutResult() {
            
            @Override
            protected void doInTransactionWithoutResult(TransactionStatus transactionStatus) {
            
                //事务执行中
                jdbcTemplate.execute("insert into user(id,username,password) values(1,1,1)");
                System.out.println("事务执行中---》"+getCount());
                //回滚W
                transactionStatus.setRollbackOnly();
            }
        });
        System.out.println("事务执行后---》"+getCount());
        
    }
    
    //统计数据条数
    public long getCount() {
        return jdbcTemplate.queryForObject("select count(*) from user", Long.class);
    }

}

7.申明式事务

玩转Spring全家桶笔记 04 Spring的事务抽象、事务传播特性、编程式事务、申明式事务

8.基于注解的配置方式

开启事务注解的方式 @EnableTransactionManagement

@Transactional

  1. transactionManage
  2. propagation
  3. isolation
  4. timeout
  5. readOnly
  6. 判断回滚

9.代码参考:https://gitee.com/mrc1999/SpringBoot-study-book/tree/master/04TransactionTemplate

相关文章:

  • 2022-12-23
  • 2021-11-25
  • 2022-12-23
  • 2021-07-09
  • 2021-05-10
  • 2022-12-23
猜你喜欢
  • 2021-09-27
  • 2021-12-18
  • 2021-11-07
  • 2022-12-23
  • 2021-10-22
  • 2022-12-23
  • 2022-01-09
相关资源
相似解决方案