JdbcTemplate içindeki queryforInt / queryforLong yöntemleri, Spring 3.2'de kullanımdan kaldırılmıştır. Bu yöntemleri kullanarak mevcut kodu değiştirmenin neden veya neyin en iyi uygulama olarak kabul edildiğini bulamıyorum.
Tipik bir yöntem:
int rowCount = jscoreJdbcTemplate.queryForInt(
"SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?",
playerNameKey.toUpperCase(),
teamNameKey.toUpperCase()
);
Tamam, yukarıdaki yöntemin aşağıdaki gibi yeniden yazılması gerekiyor:
Object[] params = new Object[] {
playerNameKey.toUpperCase(),
teamNameKey.toUpperCase()
};
int rowCount = jscoreJdbcTemplate.queryForObject(
"SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?",
params, Integer.class);
Açıkçası bu kullanımdan kaldırma JdbcTemplate sınıfını daha basit hale getiriyor (ya da öyle mi?). QueryForInt her zaman kolaylık sağlayan bir yöntemdi (sanırım) ve uzun zamandır var. Neden kaldırıldı. Sonuç olarak kod daha karmaşık hale gelir.
@Deprecated
null
(örneğinizdeki durum değil). Artık queryForInt / Long'dan boş kontrol kodunu çoğaltmaktan başka bir yol bulamadım.