【发布时间】:2019-09-10 08:34:49
【问题描述】:
String sql = "SELECT name, age, gender from persons";
List<Map<String, Object>> results = jdbcTemplate.queryForList(sql, params);
问题:我怎样才能得到一个数组List<String[]> 的结果?由于我从每一行中仅选择 3 个值,我知道 result[0] 是名称,或者 results[2] 是性别。
所以我更希望 jdbcTemplate 不返回键值映射,而只返回没有 db 列名的普通数组。
【问题讨论】:
-
难道没有
queryForXXX版本可以做到这一点吗?猜不到,您应该使用queryForRowset或更好,使用RowMapper并将结果直接映射到一些适当的对象。 -
通常你甚至不应该使用它,而是使用带有
RowMapper并直接映射到你的 DTO 的查询方法。看起来你是在之后做的。 -
我不想映射到我的 dto。我只需要这些值进行进一步处理。所以我不需要介绍任何类型的 dto 或 map。因此,我认为获取带有值的普通数组是最好的,但是没有这个选项吗?
标签: java sql spring jdbc spring-jdbc