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



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

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

有一个模型列表,我想在 JDBC 模板中传递它并返回一个字符串映射,我的意思是所有品牌的列表和它们的模型列表。听起来像是我在找人用勺子喂我,但我会用回复来学习。

我完全不知道您的数据结构,但是您可以通过以下方式完成您正在尝试的操作

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;
});

最新更新