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
Post a Comment