我发现这种形式的查询非常方便从数据库调用中返回单个值/单行,如果出现错误,我可以抛出异常。但我觉得做演员表演通常是一种不好的做法。
这里的演员是否赞不绝口?
String name = (String)getJdbcTemplate().queryForObject(
sql, new Object[] { custId }, String.class);
答案 0 :(得分:1)
从Spring 3.1开始,JdbcTemplate可以使用queryForObject的泛型和变种:
String name = getJdbcTemplate().queryForObject(sql, String.class, custId);
在Spring 3.1之前,可以通过getSimpleJdbcTemplate()
获得String name = getSimpleJdbcTemplate().queryForObject(sql, String.class, custId);
编辑:
这需要JDK 1.5或更高版本。
答案 1 :(得分:0)
如果您使用的是最新版本的Spring,则不应该强制转换,因为它是一种通用方法,现在是signature of the method:
public <T> T queryForObject(String sql, Class<T> requiredType) throws DataAccessException
如果您使用的是旧版本,则可以投射或升级到最新版本。