springboot笔记17整合mybatis之事务

4、事务介绍和常见的隔离级别,传播行为
    
    简介:讲解什么是数据库事务,常见的隔离级别和传播行为

    1、介绍什么是事务,单机事务,分布式事务处理等

    2、讲解场景的隔离级别
        Serializable: 最严格,串行处理,消耗资源大
        Repeatable Read:保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据
        Read Committed:大多数主流数据库的默认事务等级
        Read Uncommitted:保证了读取过程中不会读取到非法数据。


    3、讲解常见的传播行为
        PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务,最常见的选择。

        PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。

        PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。

        PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起, 两个事务之间没有关系,一个异常,一个提交,不会同时回滚

        PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

        PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常









5、SpringBoot整合mybatis之事务处理实战
    简介:SpringBoot整合Mybatis之事务处理实战
    1、service逻辑引入事务 @Transantional(propagation=Propagation.REQUIRED)

    2、service代码
        @Override
        @Transactional
        public int addAccount() {
            User user = new User();
            user.setAge(9);
            user.setCreateTime(new Date());
            user.setName("事务测试");
            user.setPhone("000121212");
            
            userMapper.insert(user);
            int a = 1/0;

            return user.getId();
        }

 

posted @ 2019-03-25 17:18  valar-dohaeris  阅读(146)  评论(0)    收藏  举报