Сейчас у меня следующая ситуация:Возможность отката изменений, когда данные вставки с использованием API сервера
У меня есть создать клиентское Java приложение, которое используется для связи с базой данных MySQL непосредственно. Когда я вставлял много данных, я делал это с выключенным AutoCommit
. Это было легко сделать, потому что у меня был прямой доступ к Connection
. Я решил сделать это, потому что это позволило мне отменить изменения, когда что-то пошло не так во время синхронизации.
Теперь приложение развивается, и я подумал, что лучше построить API-интерфейс сервера, который связывается с базой данных MySQL. Итак, на данный момент я вставляю данные, выполняя запросы Http. Каждый запрос открывает и закрывает новый Connection
.
Теперь я хотел бы иметь возможность отката изменений, когда один из запросов идет не так. Я предполагаю, что не могу работать с AutoCommit
, потому что он основан на Connection
, и каждый из них отличается для каждого запроса.
Может ли кто-нибудь сказать мне, как это делается обычно?
Я подумал следующее:
- Первый вызов URL, который устанавливает
AutoCommit
к ложным, а затем делать все запросы и проверить, если один выходит из строя. Но это может пойти не так, если другой клиент также вставляет данные одновременно. - Отправка данных на сервер одним запросом, но это заставит меня радикально изменить мою конструкцию.
Примечание: я знаю, что при задании вопроса обычно требуется какой-то код, но я не вижу, как это улучшит мой вопрос. Однако, если это необходимо, не стесняйтесь просить об этом.