java隐式事务代码 java隐式初始化

java mysql中有显示事务和隐式事务吗?我只想说一点java是java
mysqlhi数据库
关于事务
事务就是事务哪有显示和隐式的区分?
我知道到 java中的 显示调用 和隐式调用
希望能帮到你 谢谢
在java中,事务是什么?有什么用!一、什么是Java事务
通常的观念认为java隐式事务代码,事务仅与数据库相关 。
事务必须服从ISO/IEC所制定的ACID原则 。ACID是原子性(atomicity)、一致性(consistency)、隔离性
(isolation)和持久性(durability)的缩写 。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效 。一致性表示
当事务执行失败时java隐式事务代码,所有被该事务影响的数据都应该恢复到事务执行前的状态 。隔离性表示在事务执行过程中对数据的修改java隐式事务代码,在事务提交之前对其他事务不可见 。持
久性表示已提交的数据在事务执行失败时,数据的状态都应该正确 。
通俗的理解,事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令 。更简答的说就是:要么全部执行成功,要么撤销不执行 。
既然事务的概念从数据库而来,那Java事务是什么?之间有什么联系?
实际上,一个Java应用系统 , 如果要操作数据库,则通过JDBC来实现的 。增加、修改、删除都是通过相应方法间接来实现的,事务的控制也相应转移到Java程序代码中 。因此,数据库操作的事务习惯上就称为Java事务 。
二、为什么需要事务
事务是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问 。具一个简单例子:比如银行转帐业务,账户A要将自己账户上的1000元
转到B账户下面,A账户余额首先要减去1000元 , 然后B账户要增加1000元 。假如在中间网络出现java隐式事务代码了问题,A账户减去1000元已经结束,B因为网络中
断而操作失败 , 那么整个业务失败 , 必须做出控制 , 要求A账户转帐业务撤销 。这才能保证业务的正确性,完成这个操走就需要事务,将A账户资金减少和B账户资
金增加方到一个事务里面,要么全部执行成功,要么操作全部撤销,这样就保持了数据的安全性 。
三、Java事务的类型
Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务 。
1、JDBC事务
JDBC 事务是用 Connection 对象控制的 。JDBC Connection 接口( java.sql.Connection )提供了两种事务模式:自动提交和手工提交 。java.sql.Connection 提供了以下控制事务的方法:
public void setAutoCommit(boolean)
public boolean getAutoCommit()
public void commit()
public void rollback()
使用 JDBC 事务界定时,您可以将多个 SQL 语句结合到一个事务中 。JDBC 事务的一个缺点是事务的范围局限于一个数据库连接 。一个 JDBC 事务不能跨越多个数据库 。
2、JTA(Java Transaction API)事务
JTA是一种高层的 , 与实现无关的,与协议无关的API,应用程序和应用服务器可以使用JTA来访问事务 。
JTA允许应用程序执行分布式事务处理–在两个或多个网络计算机资源上访问并且更新数据 , 这些数据可以分布在多个数据库上 。JDBC驱动程序的JTA支持极大地增强了数据访问能力 。
如果计划用 JTA 界定事务,那么就需要有一个实现 javax.sql.XADataSource 、
javax.sql.XAConnection 和 javax.sql.XAResource 接口的 JDBC
驱动程序 。一个实现了这些接口的驱动程序将可以参与 JTA 事务 。一个 XADataSource 对象就是一个 XAConnection

推荐阅读