JdbcTemplateのqueryforInt / queryforLongメソッドは、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のnullチェックコードを複製する以外に方法はありませんでした。