gpt4 book ai didi

java - 如何将数据库结果放入 LinkedHashMap

转载 作者:行者123 更新时间:2023-12-01 23:48:53 26 4
gpt4 key购买 nike

public List<ColorModel> getAllColor() {
String query = "SELECT * FROM COLOR";
List<ColorModel> colors = getjdbcTemplate().query(query, new ColorMapper());
return colors;
}

class ColorMapper implements RowMapper<Color> {
public ColorModel mapRow(ResultSet rs, int rowNum) throws SQLException {
ColorModel color = new ColorModel ();
color.setId(rs.getInt("ID"));
color.setName(rs.getString("color_name"));
}
}

问题

我怎样才能返回 LinkedHashMap<Integer, String>而不是List<ColorModel>

最佳答案

嗯,在以列表形式获取结果后,您可以轻松地执行映射:

...
List<Color> colors = getjdbcTemplate().query(query, new ColorMapper());
Map<Integer, String> colorMap = new LinkedHashMap<Integer, String>();
for (Color color : colors) {
colorMap.put(color.getId(), color.getName());
}
return colorMap;

或者,您可以提供 RowCallbackHandler :

final Map<Integer, String> colorMap = new LinkedHashMap<Integer, String>();
getJdbcTemplate().query(query, new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) {
colorMap.put(rs.getInt("ID"), rs.getString("color_name"));
}
});

请注意,您无法创建 Map<int, String>在 Java 中,因为泛型类型参数不能是原始类型。

关于java - 如何将数据库结果放入 LinkedHashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16573122/

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