如何仅从 JdbcTemplate queryForList 获取 return 个字符串对象?
How to only return String objects from JdbcTemplate queryForList?
默认情况下,queryForList()
returns 每个为 Map<String, Object>
。对象可以是普通的String
、java.sql.Timestamp
等
List<Map<String, Object>> result = jdbcTemplate.queryForList(sql, params);
问题:如何强制返回任何值作为 String.class
?所以我会有 Map<String, String>
.
我试过了:jdbcTemplate.queryForList(sql, params, Map<String, String>.class)
但是该语句似乎无效并且无法编译。
也许有更好的方法,但以下方法有效:
jdbcTemplate.query(sql, params, new ColumnMapRowMapper() {
@Override
protected Object getColumnValue(ResultSet rs, int index) {
return rs.getString(index);
}
}
默认情况下,queryForList()
returns 每个为 Map<String, Object>
。对象可以是普通的String
、java.sql.Timestamp
等
List<Map<String, Object>> result = jdbcTemplate.queryForList(sql, params);
问题:如何强制返回任何值作为 String.class
?所以我会有 Map<String, String>
.
我试过了:jdbcTemplate.queryForList(sql, params, Map<String, String>.class)
但是该语句似乎无效并且无法编译。
也许有更好的方法,但以下方法有效:
jdbcTemplate.query(sql, params, new ColumnMapRowMapper() {
@Override
protected Object getColumnValue(ResultSet rs, int index) {
return rs.getString(index);
}
}