Как выполнить следующий 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
, но я бы хотел этого избежать.