JdbcTemplate 中的 queryforInt/queryforLong 方法在 Spring 3.2 中已弃用。我不知道为什么或什么被认为是使用这些方法替换现有代码的最佳实践。
一个典型的方法:
int rowCount = jscoreJdbcTemplate.queryForInt(
"SELECT count(*) FROM _player WHERE nameKey = ? AND teamClub = ?",
playerNameKey.toUpperCase(),
teamNameKey.toUpperCase()
);
OK 上面的方法需要改写如下:
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 一直是一种方便的方法(我猜)并且已经存在了很长时间。为什么被删除了。结果代码变得更加复杂。