• 事物笔记


    什么是事务:
    一件事情有N个组成单元,执行之后要么同时成功,要么同时失败。
    MySQL是一条默认的事务,一条sql语句就是一条事务。
    ------------------------------------------------------------
    MySQL事务:
    1、开启一个事务:start transaction
    2、事务提交:commit 代表从开启事务到事务提交中间的所有sql语句都认为是有效的。
    3、事务回滚:rollback 代表从开启事务到事务回滚之间的所有sql语句都认为是无效的。

    当开启事务执行sql语句之后,在数据库中是可以查看到的,但这只是以日志的方式存在,并没有真正的存在MySQL的磁盘上,这时执行事务回滚之后,数据是没有的。

    ------------------------------------------------------------
    JDBC实务操作:
    默认是自动事务:
    每执行一次excuteUpdate方法,就代表事务自动提交。

    把自动提交的代码设置成false,意思是不自动提交,改为手动提交:
    conn.setAutoCommit(false);
    手动开启事务之后获得执行平台:
    Statement stmt = conn.createStatement();

    通过jdbc的API手动操作:
    1、开启事务:conn.setAutoCommit(false);
    2、提交事务:conn.commit();
    3、事务回滚:conn.rollback();

    注意:执行sql语句的connection与开启事务的connection必须是同一个,才能对事务进行控制。


    ------------------------------------------------------------
    DBUtils事务操作:

    DBUtils分为有参构造和无参构造两种。

    有参构造:
    QueryRunner runner = new QueryRunner(DataSourceUtils.getdataSource());
    里面的参数就是连接池,相当于连接到了数据库,如果没有参数的话,就要自己设置Connection连接数据库。

    无参构造:
    QueryRunner runner = new QueryRunner();
    自己设置连接:
    Connection conn = DataSourceUtils.getConnection();

  • 相关阅读:
    2016-02-24 工作日记
    金字塔培训
    你找到自己的路了么?
    你是个成熟的职场人么?
    码农十年总结
    码农十年连载六
    码农十年连载五
    码农十年连载四
    码农十年连载三
    码农十年连载二
  • 原文地址:https://www.cnblogs.com/tidhy/p/6680674.html
Copyright © 2020-2023  润新知