jdbctemplate count queryForInt并传递多个参数

时间:2015-12-11 04:26:40

标签: java spring-jdbc jdbctemplate

如何在jdbcTemplate queryForInt中传递多个参数以获取计数。我试过这个,

Integer count = this.jdbcTemplate.queryForInt(select count(name) from table_name where parameter1 = ? and parameter2 = ?, new Object[]{parameter1,parameter2});

但它显示queryForInt为罢工。

1 个答案:

答案 0 :(得分:12)

自版本3.2.2以来,不推荐使用queryForInt()和queryForLong()(如果错误,请更正我)。要修复它,请使用queryForObject(String,Class)替换代码。

 this.jdbcTemplate.queryForObject(
                    sql, new Object[] { parameter1,parameter2 }, Integer.class);

根据spring docs

  

int queryForInt(String sql,Map args)

     

<强>已过时即可。   使用NamedParameterJdbcTemplate提供的命名参数支持和包含参数的映射查询传入SQL查询的int。

     

int queryForInt(String sql,Object ... args)   的已过时即可。

     

使用标准'?'查询传递SQL查询的int参数的占位符和可变数量的参数。   int queryForInt(String sql,SqlParameterSource args)   已过时。   使用NamedParameterJdbcTemplate提供的命名参数支持和包含参数的SqlParameterSource查询传入SQL查询的int。