Insertion de plusieurs lignes à l'aide de JdbcTemplate

Comment puis-je exécuter la requête SQL suivante dans une de manière évolutive à l'aide de JdbcTemplate en cours d'exécution sur mySQL. Dans ce cas, évolutive signifie:

  1. Une seule instruction SQL est exécutée sur le serveur
  2. cela fonctionne pour n'importe quel nombre de lignes.

Voici l'énoncé:

INSERT INTO myTable (foo, bar) VALUES ("asdf", "asdf"), ("qwer", "qwer")

Supposer que j'ai une liste de POJO avec foo et bar champs. Je me rends compte que je pourrais vous suffit d'itérer sur la liste et de l'exécuter:

jdbcTemplate.update("INSERT INTO myTable(foo, bar) VALUES (?, ?)", paramMap)

mais cela ne veut pas n'est pas accomplir le premier critère.

Je crois que je pourrais également exécuter:

jdbcTemplate.batchUpdate("INSERT INTO myTable(foo, bar) VALUES (?, ?)", paramMapArray)

mais de ce que je peux dire, qui va juste compiler le SQL une fois et d'exécuter plusieurs fois, à défaut, le premier critère de nouveau.

La dernière possibilité, qui semble passer deux critères, serait tout simplement de construire le SQL moi-même avec un StringBuffermais je voudrais éviter cela.

source d'informationauteur scompt.com