java - How to pass list of values as a parameter to IN clause using jdbc template -


this question has answer here:

i want pass car names bind variable (changes @ runtimme) how achieve .

java version 1.7

private jdbctemplate jdbctemplate;   public collection<cars> findall(){   string sql =  "select name, year, type cars name in ('honda','audi','benz')";         list<cars> carslist = new arraylist<cars>();         list<map<string, object>> rows = jdbctemplate.queryforlist(sql);         (map row : rows) {             cars car = new cars();             car.setname(string.valueof(row.get("name")));             car.settype(string.valueof(row.get("type")));             car.setyear(string.valueof(row.get("year")));              carslist.add(car);         }         return carslist;     } 

use named parameters explained here, e.g.:

string sql =  "select name, year, type cars name in (:cars)"; list<cars> carslist = new arraylist<cars>(); namedparameterjdbctemplate namedparameterjdbctemplate = new namedparameterjdbctemplate(datasource); list<string> carnames = new arraylist<string>(); for(car car : carlist){     carnames.add(car.getname()); } sqlparametersource namedparameters = new mapsqlparametersource("cars", carnames); namedparameterjdbctemplate.queryforobject(sql, namedparameters, responsetype.class); 

Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -