gpt4 book ai didi

java - 如何将多条记录的结果放入map int JDBC模板中?

转载 作者:行者123 更新时间:2023-12-02 11:56:50 25 4
gpt4 key购买 nike

我使用 queryForList 来获取结果集的 arrayList,如下例所示:

List<Student> studentsList = null;
String sql = "SELECT * FROM [student]";
try {
studentsList = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Student.class));
} catch (EmptyResultDataAccessException e) {
}
return (ArrayList<Student>) studentsList;

现在我想直接从查询中将此列表的结果获取到对象的映射中。

有什么想法吗?

最佳答案

您无法从查询中获取您的Map。您需要操作从 jdbcTemplate.query 返回的 List,以便它为您提供所需的 Map,其中每个键都是该对象的 id学生:

Map<Integer, Student> studentMap = new HashMap<Integer, Student>();
for (Student student : studentsList) {
studentMap.put(student.getId(), student);
}

如果您使用的是 java 8,则可以使用 Collector :

Map<Integer, Student> result = studentsList.stream().collect(Collectors.toMap(Student::getId, Function.identity()));

关于java - 如何将多条记录的结果放入map int JDBC模板中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47550169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com