jdbctemplate count queryForInt and pass multiple parameters

Shijin Bhaskar picture Shijin Bhaskar · Dec 11, 2015 · Viewed 24.7k times · Source

How can I pass multiple parameters in jdbcTemplate queryForInt to get the count. I have tried this,

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

But its showing queryForInt as strikes.

Answer

Naruto picture Naruto · Dec 11, 2015

Both queryForInt() and queryForLong() are deprecated since version 3.2.2 (correct me if mistake). To fix it, replace the code with queryForObject(String, Class).

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

As per spring docs

int queryForInt(String sql, Map args)

Deprecated. Query for an int passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a map containing the arguments.

int queryForInt(String sql, Object... args) Deprecated.

Query for an int passing in a SQL query using the standard '?' placeholders for parameters and a variable number of arguments. int queryForInt(String sql, SqlParameterSource args) Deprecated. Query for an int passing in a SQL query using the named parameter support provided by the NamedParameterJdbcTemplate and a SqlParameterSource containing the arguments.