2011-12-13 9 views
6

Sto usando NamedParameterJdbcTemplate per cui gli elementi Clausola e uno di essi sembra essere List<String>. JdbcTemplate sostituisce?,?,? ... (dimensione elenco) ma per una clausola IN con List<String> deve essere '?', '?' ....JdbcTemplate IN Clausola per gli elementi a stringa

C'è un modo per aggirare questo?

risposta

8
Ci

poche altre domande simili là fuori che potrebbero avere le risposte utili per voi:

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

per rendere questo stile di lavoro di query da parte mia, devo passare dal semplice vecchia JDBCTemplate a NamedParameterJdbcTemplate .

Ecco qualche esempio di codice:

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()); 
Problemi correlati