JdbcTemplate queryForInt/Long 在 Spring 3.2.2 中已弃用。它应该被什么取代?
2022-08-31 09:51:23
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一直是一种方便的方法(我猜),并且已经存在了很长时间。为什么它被删除了。因此,代码变得更加复杂。