使用服务器插入数据时能够回滚更改 API

Ability to rollback changes when insert data using a server API

我目前的情况是:

我构建了一个客户端Java应用程序,用于直接与MySQL数据库通信。当我插入大量数据时,我曾经在 AutoCommit 关闭的情况下执行此操作。这很容易做到,因为我可以直接访问 Connection。我选择这样做,因为它使我能够在同步过程中出现问题时回滚更改。

现在,应用程序正在发展,我想我最好构建一个与 MySQL 数据库通信的服务器 API。所以,目前,我正在通过 Http 请求插入数据。每个请求打开和关闭一个新的 Connection.

现在,我希望能够在其中一个请求出错时回滚更改。我假设我不能使用 AutoCommit,因为这是基于 Connection,并且每个请求都不同。

谁能告诉我这通常是怎么做的?

我想到了以下几点:

注意:我知道提问时通常需要一些代码,但我看不出这将如何改进我的问题。但是,如果需要,请随时提出要求。

每个 Web 请求都应该 运行 在它自己的事务中。

在一个请求中发送属于逻辑事务的所有数据,并在请求处理结束时调用提交。

跨越多个 Web 请求的事务不是一个好主意。考虑使从未提交的崩溃客户端。这将使您拥有永远不会关闭的未结交易。