zoukankan      html  css  js  c++  java
  • 数据库事物 jdbc事物 spring事物 隔离级别:脏幻不可重复读

    1.数据库事物: 事物的概念 a给b打100块钱的例子

    2.jdbc事物: 通过下面代码实现

    private Connection conn = null;  

    private PreparedStatement ps = null;  

    try {  

        conn.setAutoCommit(false);  //将自动提交设置为false       

        ps.executeUpdate("修改1 SQL"); //执行修改1操作  

        ps.executeQuery("修改2 SQL");  //执行修改2操作  

        conn.commit();      //当两个操作成功后手动提交       

    } catch (Exception e) {  

        conn.rollback();    //一旦其中一个操作出错都将回滚,使两个操作都不成功  

        e.printStackTrace();  

    3.spring事物: 通过xml配置和注解来配置和使用事物, 事物的实现还是jdbc事物, 不过被spring包装了, 我们看不见

    4.脏幻不可重复读是在已经有了事物之后会发生的一些事情, 数据隔离级别方面的概念

    脏读:

    强调的是第二个事务读到的不够新。

    幻读 : 
    重点在于新增或者删除, 同样的条件 ,   第 1 次和第 2 次读出来的记录数不一样

    不可重复读 

    重点是修改, 同一事务,两次读取到的数据不一样。

    Spring声明性事务 隔离级别

    l          DEFAULT 使用数据库设置的隔离级别 ( 默认 ) ,由 DBA 默认的设置来决定隔离级别 . 而MySQL的默认事务隔离级别是:Repeatable Read

    l          READ_UNCOMMITTED 会出现脏读、不可重复读、幻读 ( 隔离级别最低,并发性能高 )

    l          READ_COMMITTED  会出现不可重复读、幻读问题(锁定正在读取的行)

    l          REPEATABLE_READ 会出幻读(锁定所读取的所有行)

    l          SERIALIZABLE 保证所有的情况不会发生(锁表)

  • 相关阅读:
    iOS开发tips-UITableView、UICollectionView行高/尺寸自适应
    10559
    日志系统之基于Zookeeper的分布式协同设计
    IOS 图片上传处理 图片压缩 图片处理
    istream, outstream使用及常见错误
    matlab 扩大虚拟内存
    github不小心同步覆盖了本地文件
    经典统计语言模型
    Makefile 快速入门
    word2vec——高效word特征提取
  • 原文地址:https://www.cnblogs.com/zedosu/p/6635981.html
Copyright © 2011-2022 走看看