美文网首页
Spring 事务

Spring 事务

作者: A_1341 | 来源:发表于2018-08-01 13:06 被阅读0次

声明式事务

  • 在 类或方法 上直接注解 @Transactional
    遇到 RuntimeException 异常会自动回滚, 其他异常不会回滚
    手动 catch 住的异常也不会回滚
    @Transactional
    public PmUserEntity create(PmUserEntity user) throws Exception {
        user.setId(UUID.randomUUID().toString());
        user.setCreateTime(LocalDateTime.now());
        user.setUpdateTime(Timestamp.valueOf(LocalDateTime.now()));

        PmUserEntity save = pmUserRepository.save(user);

        if (save != null)
            throw new RuntimeException();

        return save;
    }

SpringBoot 快速开启事务(附常见坑点)
Spring声明式事务为何不回滚

编程式事务

   //注入事务管理器
    private final TransactionTemplate transactionTemplate;

    @Autowired
    public UserServiceImpl(PlatformTransactionManager transactionManager) {
        Assert.notNull(transactionManager, "The 'transactionManager' argument must not be null.");
        this.transactionTemplate = new TransactionTemplate(transactionManager);
    }
//包裹需要开启事务的代码块 transactionTemplate.execute(new TransactionCallback<PmUserEntity>() {
//            public PmUserEntity doInTransaction(TransactionStatus status) {
//status.setRollbackOnly 用于回滚
public PmUserEntity createByTransactional(PmUserEntity user) throws Exception {
        PmUserEntity execute = transactionTemplate.execute(new TransactionCallback<PmUserEntity>() {
            public PmUserEntity doInTransaction(TransactionStatus status) {
                user.setId(UUID.randomUUID().toString());
                user.setCreateTime(LocalDateTime.now());
                user.setUpdateTime(Timestamp.valueOf(LocalDateTime.now()));

                PmUserEntity save = pmUserRepository.save(user);

//                status.setRollbackOnly();
                return save;
            }
        });
        return execute;
    }

Spring框架事务管理之四:Spring编程式事务
Transaction Management

相关文章

  • 关于事务的思考

    Spring对于事务的支持 Spring事务接口 Spring事务管理器 Spring并不直接管理事务,而是提供多...

  • Spring事务

    Spring 事务 分类 Spring可以支持编程式事务和声明式事务。 编程式事务 实现 Spring使用事务管理...

  • Spring中实现事务方式

    Spring 中实现事务的方式 Spring 并不直接支持事务,只有当数据库支持事务时,Spring 才支持事务,...

  • Spring事务的传播特性引发的一场血案

    Spring事务的传播特性是对于Spring事务管理的一项特殊配置;Spring事务基于Spring AOP特性,...

  • Spring 事务实现分析

    1. Spring 事务简介 Spring 本身并不实现事务,Spring事务 的本质 还是 底层数据库 对事务的...

  • spring04

    Spring JdbcTemplate学习 Spring 声明式事务 xml配置实现 Spring 声明式事务 注...

  • 程序员之Spring

    1. Spring事务 spring的事务实现原理Spring事务将connection放入到当前线程的threa...

  • 面前温习

    Spring事务传播特性的浅析——事务方法嵌套调用的迷茫 解惑 spring 嵌套事务

  • 分布式事务(2)Spring事务

    2.1 Spring事务原理 Spring支持编程式事务和声明式事务。编程式事务就是用个事务类Transactio...

  • spring事务的实现原理

    spring实现事务的原理 Spring事务 的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring...

网友评论

      本文标题:Spring 事务

      本文链接:https://www.haomeiwen.com/subject/zjglvftx.html