zoukankan      html  css  js  c++  java
  • 2018-09-15JDBC事务详解1

    在事务里面SELECT,查询的也是事务日志里面的内容!

    什么是事务?

    一件事情有N个组成单元,要不这N个组成单元同时成功,要不N个单元就同时失败,就是将n个组成单元放到一个事务中(例如转账,张三账户减500元的同时,李四账户要加500元)!

    MySQL事务:

    ①  默认事务:一条SQL语句默认开启事务,并提交事务!

    ②  手动事务:

    1;显式的开启事务:start transaction

    2;提交事务:commit(当开启了事务,写完SQL语句并不执行,而是写入事务中,等待commit命令才开始执行)!

    3;事务回滚:rollback(当开启了事务,要么提交事务,要么事务回滚,当提交了事务之后,不可以再执行事务回滚)!

    JDBC事务:

    ①  默认事务:excuteUpdate()方法,每一次执行该方法,代表事务自动提交!

    ②  手动事务:

    1;开启事务:conn.setAutoComnmit(false);

    2;提交事务:conn.commit();

    3;事务回滚:conn.rollback();

    //注意:操作一系列事务的Connection对象,必须是同一个,为了保证该条件,引入了ThreadLocal这个容器,在该操作是单线程的前提下,这个容器带着唯一的Connection对象,让程序在一次请求中的任何位置,都能获取该对象!

    DBUTils事务操作:

    QueryRunner

    有参构造:QueryRunner runner = new QueryRunner(DataSource dataSource);

    有参构造将数据源(连接池)作为参数传入QueryRunner,QueryRunner会从连接池中获得一个数据库连接资源操作数据库,所以直接使用无Connection参数的update方法即可操作数据库!

    无参构造:QueryRunner runner = new QueryRunner();

    无参的构造没有将数据源(连接池)作为参数传入QueryRunner,那么我们在使用QueryRunner对象操作数据库时要使用有Connection参数的方法!

  • 相关阅读:
    jmeter bean shell断言加密的响应信息(加密接口测试二)
    java ID3算法
    MPI常用函数
    数据结构——单链表
    RBM代码注释c++
    MPI_一个简单的消息传递
    电路测试
    java KNN算法
    [转]矩阵分解在推荐系统中的应用
    java EM算法
  • 原文地址:https://www.cnblogs.com/postgredingdangniu/p/9650037.html
Copyright © 2011-2022 走看看