java - QueryForList not setting parameters -


i have piece of code resembling following. i'm trying parameterize given query , put list after in clause.

public list<map<string,object>> parameterize(list<string> list) throws illegalargumentexception {     string b = "select * table_name abc in (:value)";     mapsqlparametersource namedparameters = new mapsqlparametersource();     namedparameters.addvalue("value", list));     list<map<string,object>> results = getjdbctemplate().queryforlist(b, namedparameters);     if (results == null)         throw new illegalargumentexception("no values.");     return results;  } 

but isn't working , i'm getting following exception

caused by: java.sql.sqlexception: jz0se: invalid object type (or null object) specified setobject().     @ com.sybase.jdbc4.jdbc.errormessage.raiseerror(errormessage.java:775)     @ com.sybase.jdbc4.jdbc.sybpreparedstatement.setobject(sybpreparedstatement.java:1356)     @ com.mchange.v2.c3p0.impl.newproxypreparedstatement.setobject(newproxypreparedstatement.java:721)     @ org.springframework.jdbc.core.statementcreatorutils.setvalue(statementcreatorutils.java:401)     @ org.springframework.jdbc.core.statementcreatorutils.setparametervalueinternal(statementcreatorutils.java:234)     @ org.springframework.jdbc.core.statementcreatorutils.setparametervalue(statementcreatorutils.java:165)     @ org.springframework.jdbc.core.argumentpreparedstatementsetter.dosetvalue(argumentpreparedstatementsetter.java:65)     @ org.springframework.jdbc.core.argumentpreparedstatementsetter.setvalues(argumentpreparedstatementsetter.java:46)     @ org.springframework.jdbc.core.jdbctemplate$1.doinpreparedstatement(jdbctemplate.java:644)     @ org.springframework.jdbc.core.jdbctemplate.execute(jdbctemplate.java:589)     ... 53 more 

i have tried using preparedstatement instead doesn't work either. please help!

use namedparametedjdbctemplate, because javadoc:

this class delegates wrapped jdbctemplate once substitution named parameters jdbc style '?' placeholders done @ execution time. it allows expanding list of values appropriate number of placeholders.


Comments