2011-12-13 26 views
6

ここでは、句要素のうちList<String>と思われる箇所にNamedParameterJdbcTemplateを使用しています。 JdbcTemplateはそれらを?、?、?...(リストサイズ)に置き換えますが、IN句の場合はList<String>で '?'、 '?' ...にする必要があります。JdbcTemplate IN文字列要素の句

方法はありますか?

答えて

8

あり、あなたのために有用な答えを持っているかもしれませんそこにいくつかの他の同様の質問:

How to execute IN() SQL queries with Spring's JDBCTemplate effectivly?

が私の最後に問合せ作業のこのスタイルを作るためには、私はNamedParameterJdbcTemplateに昔ながらのJDBCTemplateから切り替えて。ここで

は、いくつかのサンプルコードです:

String query = "select * from table where columnName in (:listOfValues)"; 
List<String> nameRecordIDs = new ArrayList<String>(); 
// ... 
// add values to collection, then 
// ... 
Map namedParameters = Collections.singletonMap("listOfValues", nameRecordIDs); 
namedparameterJdbcTemplate.query(query, namedParameters,new MyMapper()); 
関連する問題