JDBC技术---事务处理
2011-08-05 15:35
260 查看
事务处理是正对数据库操作时一个重要环节,它可以保证执行多条记录的一致性。这久可以实现数据库中表与表之间的关联,同时提高了对数据操作的准确性、安全性。
什么是事务处理?事物处理就是当执行多个SQL指令时,如果因为某个原因使其中一条指令执行有错误,则取消先前执行过的所有指令。它的主要作用是保证各项操作的一致性和完整性。事务处理不仅仅存在于计算机的世界中,在人类的现实生活中,也存在和事务处理一样的处理方式。比如说,买和卖,相信全世界的人都知道一手交钱一手交货的道理,如果在交易的过程,突然卖方不卖了(指令执行错误),那么交易也就被迫停止了(开始执行事物回滚操作),钱还是在买方手中,货同样还在卖方的手中(回滚后的状态)。所以当交易失败的时候,钱和货不可能同时出现在同一个人手中,在数据库中为了防止类似生活中的事件发生,所以产生了事务处理。
在JDBC的API中JDBC事务是用Connection对象控制的。该对象提供了两种事务模式:自动提交模式和手工提交模式。如果不指定模式的情况下,系统会默认为自动提交事务。也就是说,对数据库进行操作的每一条记录,都被看作是一项事务处理。操作成功后,系统会自动提交,否则取消事务。如果想对多个SQL进行统一的事务处理时,就必须取消自动提交模式,这就是可以使用Connection的setAutoCommit(false)方法取消自动提交事务,Connection类中还提供了如下其他控制事务的方法:
==》public boolean getAutoCommit( ):可以判断Connection对象的当前提交模式是否为自动提交模式,如果是则返回true,否则返回false。
==》public void commit( ):提交事务。
==》public void rollback( ):回滚事务。
注意:在Java中使用JDBC事务处理,一个JDBC事务不能跨越多个数据库而且需要判断当前使用的数据库是否支持事务。这是可以使用DatabaceMetaData中的supportsTransactions()方法可以判断数据库是否支持事务处理。它的返回值类型是boolean,返回true则表示事务受支持,否则返回false。如使用MySQL的事务功能,就要求MySQL的表类型为Innodb才支持类型。否则在java程序中做了commit或rollback,但在数据库中根本不能生效。
什么是事务处理?事物处理就是当执行多个SQL指令时,如果因为某个原因使其中一条指令执行有错误,则取消先前执行过的所有指令。它的主要作用是保证各项操作的一致性和完整性。事务处理不仅仅存在于计算机的世界中,在人类的现实生活中,也存在和事务处理一样的处理方式。比如说,买和卖,相信全世界的人都知道一手交钱一手交货的道理,如果在交易的过程,突然卖方不卖了(指令执行错误),那么交易也就被迫停止了(开始执行事物回滚操作),钱还是在买方手中,货同样还在卖方的手中(回滚后的状态)。所以当交易失败的时候,钱和货不可能同时出现在同一个人手中,在数据库中为了防止类似生活中的事件发生,所以产生了事务处理。
在JDBC的API中JDBC事务是用Connection对象控制的。该对象提供了两种事务模式:自动提交模式和手工提交模式。如果不指定模式的情况下,系统会默认为自动提交事务。也就是说,对数据库进行操作的每一条记录,都被看作是一项事务处理。操作成功后,系统会自动提交,否则取消事务。如果想对多个SQL进行统一的事务处理时,就必须取消自动提交模式,这就是可以使用Connection的setAutoCommit(false)方法取消自动提交事务,Connection类中还提供了如下其他控制事务的方法:
==》public boolean getAutoCommit( ):可以判断Connection对象的当前提交模式是否为自动提交模式,如果是则返回true,否则返回false。
==》public void commit( ):提交事务。
==》public void rollback( ):回滚事务。
注意:在Java中使用JDBC事务处理,一个JDBC事务不能跨越多个数据库而且需要判断当前使用的数据库是否支持事务。这是可以使用DatabaceMetaData中的supportsTransactions()方法可以判断数据库是否支持事务处理。它的返回值类型是boolean,返回true则表示事务受支持,否则返回false。如使用MySQL的事务功能,就要求MySQL的表类型为Innodb才支持类型。否则在java程序中做了commit或rollback,但在数据库中根本不能生效。
相关文章推荐
- jdbc事务处理 - 美丽人生 - JavaEye技术网站
- 传统的JDBC数据库访问技术-事务处理
- oracle事务处理及实例演示jdbc操作批量删除
- 理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处
- Redis缓存技术学习系列之事务处理
- spring04 数据库操作 spring+jdbc/hibernate 及其声明式事务处理
- JDBC(2):事务,批次处理文件,处理大文件
- JDBC事务处理
- JAVA基础知识之JDBC——JDBC事务处理及批量更新
- 利用JDBC处理事务
- JDBC以及相关技术学习(五)----PreparedStatement特殊参数处理
- oracle事务处理及实例演示jdbc操作批量删除
- 【学习摘记】马士兵JDBC技术_课时10_JDBC处理PreparedStatement
- Spring学习5-Spring整合JDBC及其事务处理(注解方式)
- 理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处
- 【Spring七】JDBC编程之声明式事务处理
- JDBC编程之事务处理
- JDBC中处理事务(SXT)
- jdbc,oracle使用事务提交处理
- 《SQL Server 2005技术内幕:T-SQL程序设计》:继续抄录事务、错误处理、Service Broker等三章中的部分内容