事务由一个或多个己被执行、完成并被提交或还原的语句组成。
当调用方法 commit 或 rollback 时,当前事务即告结束,另一个事务随即开始。缺省情况下,新连接将处于自动提交模式。也就是说,当语句执行完后,将自动对那个语句调用 commit 方法。这种情况下,由于每个语句都是被单独提交的,因此一个事务只由一个语句组成。
如果禁用自动提交模式,事务将要等到 commit 或 rollback 方法被显式调用时才结束,因此它将包括上一次调用 commit 或 rollback 方法以来所有执行过的语句。对于这种情况,事务中的所有语句将作为组来提交或还原。
方法 commit 使 SQL 语句对数据库所做的任何更改都成为永久性的,它还将释放事务持有的全部锁。而方法 rollback 将弃去那些更改。
若用户在另一个更改生效前不想让此更改生效,可通过禁用自动提交并将两个更新组合在一个事务中来实现。如果两个更新都是成功,则调用 commit 方法,从而使两个更新结果成为永久性的;如果其中之一或两个更新都失败了,则调用 rollback 方法,以将值恢复为更新之前的值。
大多数 JDBC 驱动程序都支持事务。事实上,符合 JDBC 的驱动程序必须支持事务。 DatabaseMetaData 给出的信息描述了 DBMS 所提供的事务支持水平。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。