Как я могу выполнить следующий SQL масштабируемым способом, используя JdbcTemplate, работающий на mySQL. В этом случае масштабируемые средства:
- На сервере выполняется только один оператор SQL
- он работает для любого количества строк.
Здесь утверждение:
INSERT INTO myTable (foo, bar) VALUES ("asdf", "asdf"), ("qwer", "qwer")
Предположим, что у меня есть список POJO с полями foo
и bar
. Я понимаю, что я мог просто перебирать список и выполнять:
jdbcTemplate.update("INSERT INTO myTable(foo, bar) VALUES (?, ?)", paramMap)
но это не выполняет первый критерий.
Я тоже могу выполнить:
jdbcTemplate.batchUpdate("INSERT INTO myTable(foo, bar) VALUES (?, ?)", paramMapArray)
но из того, что я могу сказать, будет просто компилировать SQL один раз и выполнить его несколько раз, не получив первый критерий снова.
Последняя возможность, которая, кажется, проходит оба критерия, состояла бы в том, чтобы просто построить SQL сам с StringBuffer
, но я бы хотел этого избежать.