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文件中配置事务管理器

     

  • 相关阅读:
    使用PhantomJS报warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '解决方法
    案例:执行 JavaScript 语句
    案例:网站模拟登录
    爬虫中Selenium和PhantomJS
    爬虫中采集动态HTML介绍
    Oracle系列十五 控制用户权限
    Oracle系列十四 序列、索引和同义词
    Oracle系列十三 视图
    多线程爬虫案例
    CentOS7静默安装Oracle 18g数据库(无图形化界面)
  • 原文地址:https://www.cnblogs.com/liuying23/p/11791419.html
Copyright © 2011-2022 走看看