mySQLで実行されているJdbcTemplateを使用して、次のSQLをスケーラブルな方法で実行するにはどうすればよいですか。この場合、スケーラブルとは次のことを意味します。
- サーバーで実行されるSQLステートメントは1つだけです
- 任意の数の行で機能します。
ステートメントは次のとおりです。
INSERT INTO myTable (foo, bar) VALUES ("asdf", "asdf"), ("qwer", "qwer")
foo
POJOのwithフィールドとフィールドのリストがあると仮定しbar
ます。リストを繰り返して実行できることに気づきました。
jdbcTemplate.update("INSERT INTO myTable(foo, bar) VALUES (?, ?)", paramMap)
しかし、それは最初の基準を達成しません。
私も実行できると信じています:
jdbcTemplate.batchUpdate("INSERT INTO myTable(foo, bar) VALUES (?, ?)", paramMapArray)
しかし、私が言えることから、それはSQLを1回コンパイルし、それを複数回実行するだけで、最初の基準に再び失敗します。
両方の基準に合格しているように見える最後の可能性は、SQLを自分で作成することですがStringBuffer
、それは避けたいと思います。