PreparedStatement clearParameters () в пакете - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть следующий фрагмент кода -

String sql = "insert into A (c1, c2, c3) values (?, ?, ?)";
Connection connection = new getConnection();
PreparedStatement ps = connection.prepareStatement(sql);

for (Employee employee: employees) {

    ps.setString(1, employee.getName());
    ps.setString(2, employee.getCity());

   if (StringUtils.isNotBlank(employee.getPhone()))
   {
       ps.setString(3, employee.getPhone());
   }
   else
   {
       // add a warning log - I do not want to throw an exception 
       ps.clearParameters();
       continue;
   }
    ps.addBatch();
}

ps.executeBatch(); 

Сработает ли вышеуказанное и не добавит эту конкретную запись сотрудника в пакет?Я пытался воспроизвести это, но не был уверен в результатах, так как у меня нет доступа к некоторым системам.Я прочитал описание для clearParameters (), и оно показывает, что происходит в пакетном сценарии.Удаляет ли это параметры только для этой конкретной записи?Если это зависит от базового драйвера, я использую базу данных H2.

Спасибо!

...