Les méthodes queryforInt / queryforLong dans JdbcTemplate sont obsolètes dans Spring 3.2. Je ne peux pas savoir pourquoi ni ce qui est considéré comme la meilleure pratique pour remplacer le code existant à l'aide de ces méthodes.
Une méthode typique:
int rowCount = jscoreJdbcTemplate.queryForInt(
"SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?",
playerNameKey.toUpperCase(),
teamNameKey.toUpperCase()
);
OK, la méthode ci-dessus doit être réécrite comme suit:
Object[] params = new Object[] {
playerNameKey.toUpperCase(),
teamNameKey.toUpperCase()
};
int rowCount = jscoreJdbcTemplate.queryForObject(
"SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?",
params, Integer.class);
De toute évidence, cette dépréciation rend la classe JdbcTemplate plus simple (ou est-ce le cas?). QueryForInt a toujours été une méthode pratique (je suppose) et existe depuis longtemps. Pourquoi a-t-il été supprimé. Le code devient par conséquent plus compliqué.
@Deprecated
null
(pas le cas dans votre exemple). Je n'ai trouvé d'autre moyen que de dupliquer maintenant le code de vérification nul de queryForInt / Long.