事务的作用是什么?

官翔宇官翔宇最佳答案最佳答案

我来讲一下事务的概念吧 ,这个概念是建立在Java的JDBC上的。 Java中的事务管理是通过java.sql包中的Connection对象完成的,Connection实现了事务的管理。 在你建立了一个新的连接,并且设置了自动提交的情况下:(注意这里设置了自动提交) 在执行了commit之后,这些改变就会写入到数据库中。但是如果发生了故障,系统崩溃了怎么办?刚才所有的改变都没有保存,当然最好不过了,可是既然已经提交了,怎么会让这些事情没有做呢?这就是事务管理的神奇之处,事务管理可以回滚!只要执行了rollback,前面所做的所有改变都会消失,就好像什么事情都没发生过一样。

如果没有设置自动提交,自己调用commit或者rollback,那么事务的管理就和自己编写的逻辑一样了。 如果遇到了某些特殊的情况需要停止事务的执行,那就可以使用setAutoCommit(boolean)方法关闭自动提交功能,然后再使用commit或者rollback来控制事务的流 如果当前的事务已经执行了commit但是又想恢复到刚执行了rollback的状态,那么尽管事与愿违,但是在Java中这是可以实现 的,通过回滚事务就能将数据恢复过来。这看起来就像是事务在倒退一样。这就是事务的魅力所在,它可以让你重新操作已经做过的事情。

以上是Java中的事务管理,其他语言大概也是差不多的意思,只不过可能没有java这么高级而已,至少我没有写过其它的语言,有什么疑问可以直接评论或者是私信我。

卿栀美卿栀美优质答主

保证数据库中的数据始终是可靠的和正确的 (例如,完整性约束和数据库模式一直有效)。如果正确使用了事务,则无论应用程序或数据库管理系统(DBMS)出现故障,数据库中的数据都是可靠的。

事务提供了 4 种保证,简称为 ACID 保证:

原子性:作为单个工作单元执行的事务。如果事务的任何一部分失败,整个事务就失败,数据库会回滚到事务开始前的状态。

一致性:尽管事务更改了数据库中的数据,但该数据库仍然保持其完整性。也就是说,完整性约束始终有效。

隔离性:事务在隔离的环境中执行。每个事务无法看到其他事务正在进行的工作。

持久性:事务成功完成后(提交之后),其更改永久保存在数据库中。

在关系数据库出现之前,使用这些保证来实现可靠、健壮、易于维护的应用程序一直都很困难。关系模型,加上事务 ACID 保证,形成了非常强大的组合,消除了应用程序设计和实现的许多复杂性。

我来回答
请发表正能量的言论,文明评论!