diff --git a/src/reference/docbook/jdbc.xml b/src/reference/docbook/jdbc.xml index f4af0e3b23..39ff7f3b75 100644 --- a/src/reference/docbook/jdbc.xml +++ b/src/reference/docbook/jdbc.xml @@ -304,12 +304,12 @@ Here is a simple query for getting the number of rows in a relation: - int rowCount = this.jdbcTemplate.queryForInt("select count(*) from t_actor"); + int rowCount = this.jdbcTemplate.queryForObject("select count(*) from t_actor", int.class); A simple query using a bind variable: - int countOfActorsNamedJoe = this.jdbcTemplate.queryForInt( - "select count(*) from t_actor where first_name = ?", "Joe"); + int countOfActorsNamedJoe = this.jdbcTemplate.queryForObject( + "select count(*) from t_actor where first_name = ?", int.class, "Joe"); Querying for a String: @@ -567,7 +567,7 @@ public int countOfActorsByFirstName(String firstName) { SqlParameterSource namedParameters = new MapSqlParameterSource("first_name", firstName); - return namedParameterJdbcTemplate.queryForInt(sql, namedParameters); + return this.namedParameterJdbcTemplate.queryForObject(sql, int.class, namedParameters); } Notice the use of the named parameter notation in the value @@ -598,9 +598,9 @@ public int countOfActorsByFirstName(String firstName) { String sql = "select count(*) from T_ACTOR where first_name = :first_name"; - Map namedParameters = Collections.singletonMap("first_name", firstName); + Map<String, String> namedParameters = Collections.singletonMap("first_name", firstName); - return this.namedParameterJdbcTemplate.queryForInt(sql, namedParameters); + return this.namedParameterJdbcTemplate.queryForObject(sql, int.class, namedParameters); } One nice feature related to the @@ -664,7 +664,7 @@ public int countOfActors(Actor exampleActor) { SqlParameterSource namedParameters = new BeanPropertySqlParameterSource(exampleActor); - return this.namedParameterJdbcTemplate.queryForInt(sql, namedParameters); + return this.namedParameterJdbcTemplate.queryForObject(sql, int.class, namedParameters); } Remember that the @@ -838,10 +838,8 @@ public class ExecuteAStatement {
Running queries - Some query methods return a single value. To retrieve a count or a - specific value from one row, use - queryForInt(..), - queryForLong(..) or + Some query methods return a single value. To retrieve a count or + a specific value from one row, use queryForObject(..). The latter converts the returned JDBC Type to the Java class that is passed in as an argument. If the type conversion is invalid, then an @@ -862,11 +860,11 @@ public class RunAQuery { } public int getCount() { - return this.jdbcTemplate.queryForInt("select count(*) from mytable"); + return this.jdbcTemplate.queryForObject("select count(*) from mytable", int.class); } public String getName() { - return (String) this.jdbcTemplate.queryForObject("select name from mytable", String.class); + return this.jdbcTemplate.queryForObject("select name from mytable", String.class); } public void setDataSource(DataSource dataSource) {