Есть, значит, база данных. PostgreSQL (если имеет значение).
Обращаюсь туда посредством JDBC, для удобства использую commons-dbutils (никаких ORM, для меня в данной задаче просто ни к чему).
Есть задача вставлять данные порциями в таблицу. Для определённости предположим, что таблица users с полями name и password. Есть массив или список users длины пусть 100. Самый банальный способ вставки:
QueryRunner run = new QueryRunner(dataSource);
for (User user: users) {
run.update("INSERT INTO users (name,password) VALUES (?,?)",user.getName(), user.getPassword())
}
Но ведь этот вариант неэффективен?? выполняется 100 запросов. А ведь можно в один:
INSERT INTO users (name,password) VALUES ('name1',pass1'), ('name2','pass2'), ....
Как реализовать такой запрос средствами JDBC и java?