Выполнить 4 запроса MySQL одновременно в JDBC - PullRequest
0 голосов
/ 14 марта 2012

Я написал приложение на Java для добавления статей на сайт Joomla.
Я использую JDBC для подключения и выполнения запросов к базе данных Mysql.
Чтобы создать статью, мне нужно выполнить запрос на _contentstable (вставка) и 3 запроса к таблице _assets (два обновления и одна вставка).
три запроса, которые должны быть выполнены к таблице _assets, используются для вставки элемента в «дерево вложенных списков»;поэтому, если один из этих запросов завершится неудачно, дерево вложенных списков сломается.
Моя программа обращается к базе данных из удаленной системы (поэтому проблемы с подключением к Интернету или что-либо еще может прервать запросы).
Как я могу убедиться, что всетри запроса выполняются друг с другом без пропуска ни одного из них?

Спасибо

Ответы [ 2 ]

2 голосов
/ 14 марта 2012

Я думаю, что транзакции - это то, что вы ищете.

http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html

1 голос
/ 14 марта 2012

Вы также можете использовать Mysql-Transactions в «хранимой процедуре», которая объединяет ваши 4 запроса.Таким образом, я думаю, что более вероятно, что ваше обновление выполнено успешно (я думаю, что в базе данных ваш Java-метод может потерпеть неудачу).и если вы планируете использовать другие программы / языки программирования, обработка вашего обновления будет такой же, и вам больше не придется об этом заботиться.

Однако, если вы используете только одну программу Java, ябудет использовать транзакции на стороне Java, потому что для меня Java проще, чем sql (особенно если вы используете Spring и провайдер персистентности, например, hibernate ( Spring Transactions , hibernate транзакции )).

...