ExecuteBatch () также очищает список команд? - PullRequest
4 голосов
/ 23 октября 2019

Документация Statement.executeBatch() не ясна по этому вопросу, но я предполагаю, что ее вызов очистит текущий список SQL-команд объекта Statement точно так же, как clearBatch() делает. Я также предполагаю, что то же самое верно для PreparedStatement.

Я полагаю, что можно продолжать использовать Statement после вызова Statement.executeBatch(),т.е. добавьте еще один пакет команд и выполните их.

1 Ответ

8 голосов
/ 23 октября 2019

Хотя это явно не указано в документации API executeBatch, поведение определяется спецификацией JDBC 4.3 в разделе 14.1.2 Успешное выполнение :

Пакет оператора сбрасывается на пустое после возврата executeBatch.

Хотя это указано в разделе «Успешное выполнение», оно также предназначено для неудачного выполнения.

Короче говоря, при вызове executeBatch() текущий пакет операторов передается на сервер базы данных и очищается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...