我想知道是否有简单的方法可以使用JdbcTemplate为查询生成Map。我有一个返回两列的查询,所以我想直接从结果中制作地图。
SQL查询:
SELECT id, name FROM mytable WHERE somecol='someval';
预期地图:
{123,ABC},{456,DEF} .... {890, XYZ}
答案 0 :(得分:2)
是的,可以使用JdbcTemplate返回column-name:column-value对的映射,但您在问题中描述的内容不是实际的映射。
public List<Map<String, Object>> getList() {
return this.jdbcTemplate.queryForList("SELECT id, name FROM mytable");
}
会回来:
[{'id': 123, 'name': 'ABC'}, {...}, ... ]
有关详情,请参阅official documentation。
答案 1 :(得分:0)
我认为您可以使用this而不是JDBCTemplate。并使用方法queryForMap。 而你的参数就是这样的:
SqlParameterSource namedParameters = new MapSqlParameterSource("somecol",someval);