zoukankan      html  css  js  c++  java
  • 事务

    事务

    一件事情有n个组成单元 要不这n个组成单元同时成功 要不n个单元就同时失败

    就是将n个组成单元放到一个事务中

    mysql事务

    start transaction  开启事务

    commit  事务提交,从开启事务到事务提交 中间的所有的sql都认为有效     真正的更新数据库

    rollback  事务回滚,从开启事务到事务回滚 中间的所有的       sql操作都认为无效数据库没有被更新

    JDBC事务操作

    开启事务

    conn.setAutoCommit(false);//设置是否自动提交

    提交事务

    conn.commit(); //放到catch中,出现错误时回滚

    回滚事务

    conn.rollback();

    ThreadLocal绑定连接资源

    //创建ThreadLocal对象

    Private  static  ThreadLocal<Connection>  t1=new  ThreadLocal

    <Connection>();

    //获取当前ThreadLocal对象中携带的连接对象

        public static Connection getCurrentConn(){

           Connection conn=t1.get();

           if(conn==null){

               conn=getconn();

               t1.set(conn);

           }

           return conn;

        }

        //开启事务

        public static void start(){

           try {

               getCurrentConn().setAutoCommit(false);

           } catch (SQLException e) {

               // TODO Auto-generated catch block

               e.printStackTrace();

           }

        }

        //回滚事务

        public static void roolback(){

           try {

               getCurrentConn().rollback();

           } catch (SQLException e) {

               // TODO Auto-generated catch block

               e.printStackTrace();

           }

        }

        //提交事务

        public static void commit(){

           try {

               getCurrentConn().commit();

           } catch (SQLException e) {

               // TODO Auto-generated catch block

               e.printStackTrace();

           }

        }

     

    事务的特性和隔离级别(概念性问题---面试)

    事务的特性ACID

    1.原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作      要么都发生,要么都不发生。 

    2.一致性(Consistency)一个事务中,事务前后数据的完整性必须保持一致。

    3.隔离性(Isolation)多个事务,事务的隔离性是指多个用户并发访问数据库时,  一个用户的 事务不能被其它用户的事务所干扰,多个并发事务之间数据要相互隔离。

    4.持久性(Durability)持久性是指一个事务一旦被提交,它对数据库中数据的改变     就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。

  • 相关阅读:
    同事跳槽京东后,分享给我一份JAVA核心开发手册(架构筑基+开源框架+分布式架构+微服务架构+性能调优)
    只有2年经验的Java程序员,面试25K的阿里巴巴后端岗,已拿offer
    985硕士粉秋招拿下快手44万offer,面试资料学习经验分享
    年薪50万的程序员到底有多累、多辛苦?句句扎心。
    蚂蚁金服首发887页Java面试宝典!还原真实面试情景+面试题
    P8首谈做Java,在一线大厂做到金字塔顶端的人平时都如何学习?
    poj 2153 Rank List(查找,Map)
    算法导论 6-2 d叉堆
    算法导论 6.5.9 堆实现K路归并问题
    poj 2051 Argus(优先队列)
  • 原文地址:https://www.cnblogs.com/hhthtt/p/10708635.html
Copyright © 2011-2022 走看看