`
holdbelief
  • 浏览: 707626 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中的事务处理

阅读更多
Java中的事务处理
2007-08-17 23:41

      在数据库操作中,一项事务是指由一条或多条对数据库更新的 sql 语句所组成的一个不可分割的工作单元。只有当事务中的所有操作都正常完成了,整个事务才能被提交到数据库,如果有一项操作没有完成,就必须撤消整个事务。

例如在银行的转帐事务中,假定张三从自己的帐号上把 1000 元转到李四的帐号上,相关的 sql 语句如下:

update account set monery=monery-1000 where name=’zhangsan’

update account set monery=monery+1000 where name=’lisi’

这个两条语句必须作为一个完成的事务来处理。只有当两条都成功执行了,才能提交这个事务。如果有一句失败,整个事务必须撤消。

connection 类中提供了 3 个控制事务的方法:

(1)       setAutoCommit(Boolean autoCommit): 设置是否自动提交事务;

(2)       commit(); 提交事务;

(3)       rollback(); 撤消事务;

jdbc api 中,默认的情况为自动提交事务,也就是说,每一条对数据库的更新的 sql 语句代表一项事务,操作成功后,系统自动调用 commit ()来提交,否则将调用 rollback ()来撤消事务。

jdbc api 中,可以通过调用 setAutoCommit(false) 来禁止自动提交事务。然后就可以把多条更新数据库的 sql 语句做为一个事务,在所有操作完成之后,调用 commit ()来进行整体提交。倘若其中一项 sql 操作失败,就不会执行 commit ()方法,而是产生相应的 sqlexception ,此时就可以捕获异常代码块中调用 rollback ()方法撤消事务。

Try{

       Con = java.sql.DriverManager.getConnection(dburl , dbUser , dbPass);

       Con.setAutoCommit(false);

       Stmt = con.createStatement();

       Stmt.executeUpdate(“update account set monery=monery-1000 where name=’zhangsan’”);

       stmt.executeUpdate(“update account set monery=monery+1000 where name=’lisi’”);

       con.commit();

}catch(Exception ex){

       ex.printStackTrace();

       try{

            con.rollback();

}catch(Exception e){

       e.printStackTrace();

}

}finally{

       try{

            stmt.close();

            con.close();

}catch(Exception e){

       e.printStackTrace();

}

}

 

 

分享到:
评论

相关推荐

    java事务处理详解

    Java事务处理是指在Java应用程序中对事务的管理和控制。事务是指一系列的操作,Either all succeed or all fail。Java事务处理的目的是为了确保数据的一致性和完整性。 Spring是Java事务处理的核心功能之一。Spring...

    java代码-使用java解决数据库事务处理的源代码

    java代码-使用java解决数据库事务处理的源代码 ——学习参考资料:仅用于个人学习使用!

    Java事务处理详细介绍

    ### Java事务处理详细介绍 #### 一、什么是Java事务 在软件开发领域,特别是涉及数据库操作的应用中,**事务处理**是非常关键的一个概念。通常人们认为事务处理与数据库操作紧密相关,其实事务的概念远不止于此。...

    java事务处理总结

    通过对Java事务处理的理解,我们可以发现,事务不仅是Java应用开发中不可或缺的一部分,更是确保数据完整性和一致性的关键所在。无论是使用JDBC还是JTA进行事务管理,都需要开发者深刻理解事务的基本原则以及具体的...

    Java事务处理总结

    ### Java事务处理总结 #### 一、什么是Java事务 事务是指一组操作的集合,这些操作要么全部成功,要么全部失败,以确保数据的一致性和完整性。在Java开发中,事务处理主要关注的是如何管理和控制对数据库的操作,...

    java分布式事务demo

    分布式事务处理通常涉及ACID(原子性、一致性、隔离性和持久性)原则,这些原则是传统数据库事务管理的基础。在Java中,实现分布式事务的方法有很多,例如使用JTA(Java Transaction API)或者Spring框架的声明式...

    java Oracle事务处理

    java 代码写的关于Oracle的 事务处理

    oracle 在java中的事务处理和异常回滚。

    在Java编程中,Oracle数据库是常用的后端存储系统,而事务处理和异常回滚是确保数据一致性、完整性和可靠性的关键机制。以下是对这个主题的详细讲解。 首先,Oracle JDBC驱动程序是Java与Oracle数据库之间通信的...

    事务处理java案例代码

    在Java编程中,事务处理是确保数据库操作一致性的重要机制,特别是在多用户环境下,它能保证数据的完整性和准确性。这个“事务处理java案例代码”应该包含了一些基础的事务管理概念和实现方式,让我们来深入探讨一下...

    关于事务处理的一套流程

    在Java开发中,事务处理是确保数据一致性与完整性的关键机制。事务处理涉及一组数据库操作,这些操作必须全部成功执行,或者在发生错误时全部回滚。以下是对Java中事务处理一套流程的详细说明: 1. **事务的概念**...

    JAVA设计模式之事务处理

    "JAVA设计模式之事务处理"主要关注如何在业务逻辑中有效地管理和控制事务。 事务处理在企业级应用中至关重要,因为它确保数据的一致性和完整性。Java平台提供了Java Transaction API (JTA) 来处理全局事务,适用...

    Java(JDBC)事务处理

    Java(JDBC)事务处理

    Java事务处理总结[归类].pdf

    Java事务处理是编程中确保数据一致性和完整性的关键机制,特别是在涉及数据库操作的场景下。事务处理遵循ACID原则,即原子性、一致性、隔离性和持久性。原子性确保事务作为一个不可分割的操作单元,要么全部执行,...

    java事务管理和事务分类

    在Java中,事务处理通常与数据库操作密切相关,尤其是通过JDBC(Java Database Connectivity)进行的数据库交互。 1. **原子性**:事务中的每个操作要么全部完成,要么全部不完成。如果在事务执行过程中发生错误,...

    java事务处理

    ### Java事务处理详解 在Java开发中,事务处理是一项至关重要的技术,特别是在涉及数据库操作时。本文将全面阐述Java中的事务处理过程与方法,并通过具体的示例代码来帮助读者更好地理解这一概念。 #### 一、Java...

    java中数据库事务的处理

    在Java编程中,数据库事务处理是一项关键任务,尤其对于新手来说,理解并正确实现它具有挑战性。本文将深入探讨如何在Java环境中处理数据库事务,包括使用JavaBean和EJB组件,以及JDBC和JTA(Java Transaction API)...

Global site tag (gtag.js) - Google Analytics