开发者社区> 问答> 正文

JDBC中的事务是什么?

JDBC中的事务是什么?

展开
收起
游客k7rjnht6hbtk6 2021-10-29 23:30:36 519 0
1 条回答
写回答
取消 提交回答
  • 事务由一个或多个己被执行、完成并被提交或还原的语句组成。

    当调用方法 commit 或 rollback 时,当前事务即告结束,另一个事务随即开始。缺省情况下,新连接将处于自动提交模式。也就是说,当语句执行完后,将自动对那个语句调用 commit 方法。这种情况下,由于每个语句都是被单独提交的,因此一个事务只由一个语句组成。

    如果禁用自动提交模式,事务将要等到 commit 或 rollback 方法被显式调用时才结束,因此它将包括上一次调用 commit 或 rollback 方法以来所有执行过的语句。对于这种情况,事务中的所有语句将作为组来提交或还原。

    方法 commit 使 SQL 语句对数据库所做的任何更改都成为永久性的,它还将释放事务持有的全部锁。而方法 rollback 将弃去那些更改。

    若用户在另一个更改生效前不想让此更改生效,可通过禁用自动提交并将两个更新组合在一个事务中来实现。如果两个更新都是成功,则调用 commit 方法,从而使两个更新结果成为永久性的;如果其中之一或两个更新都失败了,则调用 rollback 方法,以将值恢复为更新之前的值。

    大多数 JDBC 驱动程序都支持事务。事实上,符合 JDBC 的驱动程序必须支持事务。 DatabaseMetaData 给出的信息描述了 DBMS 所提供的事务支持水平。

    2021-10-29 23:30:57
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载