NamedParameterJdbcTemplate不返回结果

时间:2014-02-03 14:15:34

标签: spring jdbctemplate

NamedParameterJdbcTemplate  namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate.getDataSource());
MapSqlParameterSource params = new MapSqlParameterSource();
    params.addValue("STR_REF",(String)strRefkeys);

    String sql = "SELECT TAGDESCRIPTION FROM xx, xx WHERE localeid='en_US' AND " +
            "xx.TAGID=xx.RECORDID and TAGDESCRIPTION is not null AND xx.REFERENCEKEY in (:STR_REF)";

List<String> ifCurrent = namedParameterJdbcTemplate.queryForList(sql, params,String.class);

虽然运行与SQL查询相同的查询并获得结果,但在ifCurrent中没有得到任何结果。

我是否通过任何错误的参数?

这是在strRefkeys

中传递的内容
for(String refStr : strRefkeysLst) {
        strRefkeysBuf.append("'");
        strRefkeysBuf.append(refStr.toUpperCase());
        strRefkeysBuf.append("',"); 
    }

    strRefkeys = strRefkeysBuf.toString();
    if(strRefkeys.trim().length()>1){strRefkeys  = strRefkeys.substring(0, strRefkeys.length()-1);}

1 个答案:

答案 0 :(得分:1)

您正在传递一个字符串参数,其中包含一组值。 strRefKeys应该是REFERENCEKEY列的一组可接受值。