Методы queryforInt / queryforLong в JdbcTemplate устарели в Spring 3.2. Я не могу понять, почему или что считается лучшей практикой для замены существующего кода с помощью этих методов.
Типичный метод:
int rowCount = jscoreJdbcTemplate.queryForInt(
"SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?",
playerNameKey.toUpperCase(),
teamNameKey.toUpperCase()
);
ОК, приведенный выше метод необходимо переписать следующим образом:
Object[] params = new Object[] {
playerNameKey.toUpperCase(),
teamNameKey.toUpperCase()
};
int rowCount = jscoreJdbcTemplate.queryForObject(
"SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?",
params, Integer.class);
Очевидно, что это устаревание упрощает класс JdbcTemplate (или делает?). QueryForInt всегда был удобным методом (я думаю) и существует уже давно. Почему его удалили. В результате код становится более сложным.
@Deprecated
null
(не в вашем примере). Я не нашел другого способа, кроме как продублировать код нулевой проверки из queryForInt / Long.