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参数的方法!

  • 相关阅读:
    EXCel操作类
    C#中的excel操作类//集合了几个别人的类
    企业库 AccessHelper
    企业库 SqlHelper
    ASP.NET Excel操作类
    WPF使用MVVM(一)属性绑定
    WPF使用ttf图标字体
    WPF自定义界面WindowChrome
    WPF使用IconFont中的Symbol图标
    字体图标查看工具(Character Map UWP)
  • 原文地址:https://www.cnblogs.com/postgredingdangniu/p/9650037.html
Copyright © 2011-2022 走看看