zoukankan      html  css  js  c++  java
  • 12.16

     今天学了

    简单事务处理
    在数据库应用中,在完成某个功能的过程中可能会涉及多个操作,只有多个操作都完
    成的时候,该功能才算完成。例如从一个账户向另外一个账户转账,需要从一个账户上扣
    钱,向另外一个账户上加钱,涉及两个更新操作,分别更新两个账户的余额,只有两个更
    新操作都完成的时候,转账功能才算完成。我们称这样的功能为事务。
    非常明显,对于事务来说,必须保证该事务所涉及的所有操作要么都完成,要么一个
    也不做,这个过程称为事务处理。
    Java 中提供了专门进行事务处理的 API,它在不同的 Java 应用服务器中有不同的实现。
    关于 Java 事务处理 API 的使用超出了本书的范围,所以这里只介绍如何使用 JDBC API 提
    供的功能完成简单的事务处理。
    使用 JDBC API 进行事务处理,主要是通过 Connection 接口完成。在前面介绍添加、更
    新和删除功能的时候,我们只要执行完 SQL 语句,执行的结果就可以反映到数据库中。实
    际上中间有一个提交的过程,默认情况下是自动提交。如果要进行事务处理,可以在事务
    所涉及的所有操作(执行 SQL 语句)都完成的时候再提交,这样就不能使用自动提交功能了。
    要禁止自动提交功能,可以使用下面的代码(con 是连接对象):
    con.setAutoCommited(false);
    设置完之后,所执行的 SQL 语句就不会直接反映到数据库中,只有提交之后才可以反
    映到数据库中。要提交所执行的操作,可以使用下面的代码:
    con.commit();
    下面是使用连接对象完成事务处理的框架:

    Connection con;
    Statement stmt;
    // 要执行的第一个 SQL 语句
    String sql1 = ...
    // 要执行的第二个 SQL 语句
    String sql2 = ...
    try
    {  ...// 创建或者获取连接
     ...// 创建语句对象
     con.setAutoCommited(false);
     // 执行第一个 SQL 语句
     stmt.executeUpdate(sql1);
     // 执行第二个 SQL 语句
     stmt.executeUpdate(sql2);
     // 提交事务
     con.commit();
    }catch(Exception e)
    {
     // 产生异常时候的处理代码
    }
    finally
    {
     // 关闭各种对象的代码
    } 
  • 相关阅读:
    IDA Supported Processors
    Hex-Rays Decompiler
    USB ISP(ICSP) Open Programmer < PWM ADC HV PID >
    A SCSI command code -- SIMPLIFIED DIRECT-ACCESS DEVICE (RBC)
    How to match between physical usb device and its drive letter?
    记录一下公司数据库升级的步骤
    Windows2003 SQL2005解决系统Administrator密码不知道的问题
    在SSMS里批量删除表、存储过程等各种对象
    用SQLSERVER里的bcp命令或者bulkinsert命令也可以把dat文件导入数据表
    分享一张SQLSERVER执行流程的图片
  • 原文地址:https://www.cnblogs.com/dty602511/p/14173793.html
Copyright © 2011-2022 走看看