尝试传递列表并使用JDBC模板返回映射

时间:2018-01-30 05:19:38

标签: java spring spring-mvc jdbc spring-jdbc

我正在尝试使用JDBC模板,但我对它并不熟悉。 我有一个与多种车型匹配的汽车制造商列表。我的数据库查询非常简单,即

    select * from Model m,Make mk where m.model_id = mk.model_id And ml_name IN (:modelname) 

我有一个模型列表,我希望在JDBC模板中传递并返回一个String of Map,List,我指的是所有品牌和List的模型。 这可能听起来像是在骗我,但我会用回复来学习。

1 个答案:

答案 0 :(得分:0)

我完全不知道您的数据结构,但您尝试做的事情可以通过以下方式完成

jdbcTemplate.query("select m.name as model, mk.name maker from Model m,Make mk where m.model_id = mk.model_id And ml_name IN (:modelname)", Arrays.asList('suv', 'sedane', 'zip'), (ResultSet rs) -> {
    HashMap<String,List<String>> results = new HashMap<>();
    while (rs.next()) {
        if (results.get(rs.getString('maker')) == null) {
            reslts.put(rs.getString('maker'), new ArrayList<>());
        }
        results.get(rs.getString('maker')).add(rs.getString("model"));
    }

    return results;
});