2011-12-13 13 views
6

Öğe öğelerinin ve bunlardan birinin List<String> olduğu yer için NamedParameterJdbcTemplate kullanıyorum. JdbcTemplate,?,?,? ... (liste boyutu) yerine List<String> numaralı bir IN yan tümcesi için '?', '?' Olmalıdır.JdbcTemplate IN Dize öğeleri için Madde

Bunun bir yolu var mı?

cevap

8

Orada sizin için yararlı cevapları vardır orada birkaç diğer benzer sorular:

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

benim ucunda sorgu işin bu tarzı yapmak için, ben NamedParameterJdbcTemplate için düz eski JDBCTemplate geçiş zorunda .

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()); 
: Burada

bazı örnek kodudur