• 事务


    事务

    一件事情有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)持久性是指一个事务一旦被提交,它对数据库中数据的改变     就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。

  • 相关阅读:
    [OpenGL]用OpenGL制作动画
    主管喜欢什么样的程序员
    windows下使用git管理代码,其中出现的问题的解决办法
    iOS7隐藏状态栏 status Bar
    [微信开发_02]环境搭建
    Matlab PCA 算法
    Git学习之msysGit环境支持
    Git学习之Git 暂存区
    Git学习之Git检出
    STL——(3)string容器
  • 原文地址:https://www.cnblogs.com/hhthtt/p/10708635.html
Copyright © 2020-2023  润新知