要理解这个java事务,我们需要依次来回答下面几个问题:
1、什么是事务?
事务这个概念来自于数据库,它必需满足ACID的基本原则,所谓ACID即是atomicity(原子性),consistency(一致性),isolation(隔离性)和durability(执久性)的首字母的缩写;原子性表示一个事务内的所有操作是一个整体,要 么全部成功,要么全失败;一致性表示一个事务内有一个操作失败时,所有的更改过的数据都必须回滚到修改前的状态;隔离性表示在事务提交前,事务对数据的修改对事务不可见;执久性表示已提交的数据在事务失败时,数据的状态都应该正确。
2、既然事务这个概念是从数据库而来,那么的java事务有什么关系?
实际上一个java应用程序要操作数据库中的数据,都必需通过JDBC,增删改查都通过调用JDBC的相应API来操作,这样事务的控制也相应的转移到了java程序中,所以通常把操作数据库的事务都叫做java事务。
3、为什么需要事务?
其实事务最开始提出来就是因为有一些操作是一个整体,必须放到一个单元中,比如在银行转帐业务中,从A帐户中转1000无到B帐户中,这其中的两个操作就必须是一个整体,要么全部成功要么全部。
4、怎么实现事务管理?
目前实现事务的类型主要有JDBC事务和JTA事务,按事务的管理者来分又可以分为编程式事务和声明式事务;JDBC事务由java.sql.Connection类的一组方法实现,但是它不能支持分布式事务,即一个事务只能对应一个数据库的一个连接。JTA是一种与具体实现无关、与协议无关的API,应用程序可以通过使用JTA来进行事务管理。JTA允许应用程序执行分布式事务(在一个事务中同时访问多个数据库),一些JDBC驱动包中也提供了JTA的实现,它由javax.sql.XADataSource、javax.sql.XAConnection、javax.sql.XAResource的实现类来完成。s
分享到:
相关推荐
内容包括事务及其控制的基本概念,Oracle中的事务处理,以及JDBC,EJB,JTA事务管理内容的总结,最后还介绍了事务管理的技巧,是了解和学习JAVA事务处理不可多得的第一手资料!
11.1.1 Java网络连接的基本概念 284 11.1.2 使用TCP协议的Socket网络编程 285 11.1.3 使用UDP协议的Socket 网络编程 289 11.1.4 多点传送和MulticastSocket类 290 11.1.5 NIO及相关技术 290 11.2 练习 291 ...
事务的基本概念-ACID 2 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元 (unit)。在关系数据库中,一个事务由一组SQL语句组成。事务应该具有4个属性: 原子性、一致性、隔离性、持久性。这...
020701_【第7章:异常的基本概念】_异常的基本概念笔记.pdf 020702_【第7章:异常的基本概念】_异常的其他概念笔记.pdf 020801_【第8章:包及访问控制权限】_包的定义及导入笔记.pdf 020802_【第8章:包及访问控制...
此外,文章还涵盖了Java中的一些基本概念,如final、interface、abstract类、重载和重写等。同时,还讲解了一些关于多线程编程的知识,如线程的生命周期、状态、以及线程安全等问题。 在Java集合框架方面,文章介绍...
数据库的基本概念 277 数据的描述 277 数据联系的描述 278 数据模型 278 数据库三级模式结构 279 数据库三个范式 280 范式总结 282 创建数据库 283 创建表 287 内容总结 290 独立实践 291 第十七章: 数据库(二) 292...
11.1.1 Java网络连接的基本概念 284 11.1.2 使用TCP协议的Socket网络编程 285 11.1.3 使用UDP协议的Socket 网络编程 289 11.1.4 多点传送和MulticastSocket类 290 11.1.5 NIO及相关技术 290 11.2 练习 291 ...
主要讲Spring的核心概念和基本使用。涉及IoC、DI、AOP、JdbcTemplate和事务管理等核心概念。同时讲解了xml和注解两种方式使用Spring的示例。通过Spring的入门程序介绍了Spring的 IoC 和 DI 的概念,介绍了Spring的...
对于初学者,有大量的入门教程和在线课程,如Oracle官方教程、Codecademy和W3Schools等,它们提供了Java编程的基本概念、语法和常用API的介绍。 对于希望深入学习Java的开发者,有专业的书籍和高级课程可供选择。...
30道经典java面试题 当面试Java开发职位时,以下是另外一些经典的Java面试题供参考: 什么是Java中的面向对象编程(OOP)?列举OOP的原则。 什么是Java中的重载和重写?它们之间有什么区别? 什么是Java中的...
该实训项目通常包括以下内容:首先,学生将学习数据库的基本概念和原理,包括关系型数据库、SQL语言等。然后,学生将通过实际案例来了解数据库设计和规范化的方法。接下来,学生将学习使用Java编程语言与数据库进行...
11.1.1 Java网络连接的基本概念 284 11.1.2 使用TCP协议的Socket网络编程 285 11.1.3 使用UDP协议的Socket 网络编程 289 11.1.4 多点传送和MulticastSocket类 290 11.1.5 NIO及相关技术 290 11.2 练习 291 ...
掌握Java面向对象编程基本实现原理。 实训项目一:Tetris项目开发 第二阶段(以T-DMS V1项目贯穿) JDK核心API 语言核心包、异常处理、常用工具包、集合框架。 熟练掌握JDK核心API编程技术;理解API设计原则;具备...
Q0043 java相关概念 "static:静态,无需实例化,可直接引用,全局只有一份copy,修饰变量和方法 final:最终的,不可继承、不可修改,修饰变量、方法、类 volatile:volatile变量表示保证它必须是与主内存保持一致,...
1.6 Java程序的基本规则 16 1.6.1 Java程序的组织形式 16 1.6.2 Java源文件的命名规则 17 1.6.3 初学者容易犯的错误 18 1.7 垃圾回收机制 20 1.8 何时开始使用IDE工具 21 学生提问:老师,我想学习Java编程,...
Java事务API(JTA)和Java事务服务(JTS) 进行事务处理的理由 使用事务处理的益处 事务处理的属性 事务服务 理论足已!一些Java细节 设计性事务处理 铭记要点 小结 第21章 开发EJB客户...
4.2.1 事务的基本概念 191 4.2.2 分布式事务处理、XA规范和 2PC协议 192 4.2.3 使用JTA全局事务保证多 数据库的一致性 193 4.3 事务隔离、传播属性的设置 198 4.3.1 并发访问和隔离 198 4.3.2 事务属性 199 4.4 EJB...
IO 的基本概念、NIO、AIO、BIO深入分析 NIO的核心设计思想 Netty产生的背景及应用场景分析 基于Netty实现的高性能IM聊天 基于Netty实现Dubbo多协议通信支持 Netty无锁化串行设计及高并发处理机制 手写实现多...