zoukankan      html  css  js  c++  java
  • JDBC的事务处理

    事务,也是数据库事务,指的是作为单个逻辑工作单元执行的一系列操作。正常的情况下,操作应该顺利进行,与操作相关的所有数据库信息也成功地更新;

    但是,如果在这一系列过程中任何一个环节出了差错,导致操作失败了,数据库中所有信息都必须保持操作前的状态不变。否则,数据库的信息将会一片混乱而不可预测。

    一个逻辑工作单元要称为事务,必须满足ACID(原子性,一致性,隔离性和持久性):http://baike.baidu.com/view/600227.htm

    事务的结束只能有两种形式:提交和回滚。操作完全成功则提交,产生永久性的修改;操作不完全成功则回滚,恢复到事务开始前的状态。它们将结束一个事务。

    (1)关闭自动提交事务。通过设置连接的自动提交事务属性为false,如下:

    Connection conn = DriverManager.getConnection("连接URL", "用户名", "密码");
    //关闭自动提交事务
    conn.setAutoCommit(false);

    (2)如果执行顺利,提交事务;一旦发生异常,回滚(rollback)事务,如下:

    try{
        conn.setAutoCommit(false);     //关闭自动提交事务
        stmt = conn.createStatement();    //创建会话
        stmt.executeUpdate("sql语句");
        conn.commit();      //提交事务
    }catch(Exception e)
    {
        e.printStackTrace();
        conn.rollback();    //回滚事务    
    }

      

    (3)关闭连接,如下:

    finally{
        if(stmt != null)
            stmt.close();
        if(conn != null)
            conn.close();
    }

      

    注意:尽量在代码中控制JDBC的事务。

  • 相关阅读:
    20101029总结
    编程感悟
    编程实现>ASP.NET 3.5开发范例精讲精析>探讨SqlDataSource控件
    GET代替POST?
    php调试工具安装
    php 命令行方式使用
    多为数组转换成一维递归
    mysql优化相关
    操作目录
    递归树
  • 原文地址:https://www.cnblogs.com/liuyanzeng/p/5985807.html
Copyright © 2011-2022 走看看