• spring的事物管理


    事物本身是数据库中的概念,按理说应该在数据访问层(dao)

    绝大多数的情况下,我们是把事物提升到业务逻辑层

    01,使用spring的事务代理工厂来管理事务

    02,使用spring的注解来管理事务  常用

    03,使用AspectJ的AOP配置来管理里事务

    需要掌握的两个属性名;

    isolation;事务隔离级别

        01,default;采用数据库默认的事务隔离级别

          001,mysql------》repeatable-read

          002,oracle------》read_committed

        02,repeatable-read;可重复读取,解决了脏读,不可重复读,没解决幻读

        03,read_committed;读已提交,解决了脏读,没解决不可重复读,黄渡

        04,read_uncommitted;读未提交,什么都没解决

        05,serializable;窜行化,级别最高,效率低,不存在开发问题

    propagation;事务传播行为,一共7种方式

        01,required;是spring默认的事务传播行为

          指定的方法必须在事物中执行,如果没有事物。则会自动创建一个事务

        02,supports;有事务就在事务环境下运行,没有事务就直接运行

        03,mandatatory;指定的方法必须在事务中执行,如果没有事务,则抛出异常

        04,requires_new;总是新建一个事务,如果当前方法存在事务,这把当前时间挂起,

          直到新创建的事务执行完毕后执行

        05,not_supported;指定方法不能再事务中执行,如果当前方法存在事务,则把当前的

          事务挂起

        06,never;指定的方法不能再事务中执行,如果当前方法存在事务,就会抛出异常

        07,nested;指定的方法必须在事务中执行

              如果执行的方法没有事务,则会创建一个事务!

              如果执行的方法有事务,则会嵌套执行

        

      timeout_default;定义了事务默认的超时时间!

  • 相关阅读:
    TranslateAnimation 运行动画后实际位置不正确问题
    Linux下如何编译并运行C程序
    row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
    C++软件开发常用辅助软件——gprof
    C++软件开发常用辅助软件——Cppcheck
    C++软件开发常用辅助软件——SCons
    C++软件开发常用辅助软件——Valgrind
    救援linux
    C/C++代码覆盖率生成
    排列的逆
  • 原文地址:https://www.cnblogs.com/liuyunfei/p/7066596.html
Copyright © 2020-2023  润新知