zoukankan      html  css  js  c++  java
  • 事务

    一,事务的含义:

             事务(TRANSACTION) 是作为单个逻辑工作单元执行的一系列操作。多个操作作为一个整体向系统提交,要么都执行,要么都不执行。事务是一个不可分割的逻辑单元。

    二,事务的特性(ACID):

              原子性(Atomicity):

                       事务是一个完整的操作,事务的各步操作都是不可再分的,要么都执行, 要么都不执行。

             一致性(Consistency):

                       当事务完成时,数据必须处于一致的状态。

             隔离性(Isolation):

                       并发事务之间相互独立、隔离,它不应以任何方式依赖于或影响其他事务。

             持久性(Durability):

                       事务完成后,它对数据库的修改被永久保持。

       在Spring中,所有操作事务的类都继承自 PlatformTransactionManager

    三,事务的隔离级别

          ISOLATION_READ_UNCOMMITTED:读未提交       

          ISOLATION_READ_COMMITTED:读已提交

          ISOLATION_REPEATABLE_READ:可重复读 

          ISOLATION_SERIALIZABLE:串行化

    四,脏读,不可重复读,幻读(虚读)

      脏读:A事务读取B事务尚未提交的更改数据,并在这个数据的基础上进行操作,这时候如果事务B回滚,那么A事务读到的数据是不被承认的。

      不可重复读:不可重复读是指A事务读取了B事务已经提交的更改数据。假如A在取款事务的过程中,B往该账户转账100,A两次读取的余额发生不一致。

      幻读:A事务读取B事务提交的新增数据,会引发幻读问题。幻读一般发生在计算统计数据的事务中

    五,事务的传播行为

    六,案例

     实体:

       

     dao层:

         

     dao层实现:

          

     service层:

         

    service层实现:

        

     配置文件:

            

        (1)代理工厂

        

       (2)AOP

           

       (3) 注解

             

     测试:

         

      注意点:以上三种配置方式无论哪种都必须在applicationContext.xml文件中配置事务管理器

     

  • 相关阅读:
    Webbrowser中模拟连接点击(非鼠标模拟)
    用DDE控制Word
    禁止用键盘左右箭头,去切换PageControl页签
    Delphi实现全局鼠标钩子
    Delphi实现软件中登录用户的操作权限
    根据数据库结构生成TreeView
    根据字符串找到函数并执行
    用DLL实现插件的简单演示
    Delphi:窗体的扩展样式GWL_EXSTYLE用于SetWindowLong
    FastReport问题整理(http://129.sqdj.gov.cn/?p=77)
  • 原文地址:https://www.cnblogs.com/liuying23/p/11791419.html
Copyright © 2011-2022 走看看