尝试使用 JDBC 模板传递列表并返回地图

Posted

技术标签:

【中文标题】尝试使用 JDBC 模板传递列表并返回地图【英文标题】:Trying to pass a list and return a map using JDBC Template 【发布时间】:2018-01-30 05:19:38 【问题描述】:

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

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

我有一个模型列表,我想在 JDBC 模板中传递这些模型并返回一个 String、List 的 Map,我的意思是所有品牌及其模型的列表。 这听起来像是我在让别人用勺子喂我,但我会用这些回复来学习。

【问题讨论】:

你试过谷歌搜索吗?那里肯定有数百万个例子...... 【参考方案1】:

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

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

【讨论】:

而不仅仅是 SUV。我怎样才能传递一个列表 @Yourfavouritenoob 更新了我的代码,看看你现在能不能看懂。 感谢您的努力。但它说它不识别 labmda 表达式。 那么你可能在 Java 7 上运行,将 lambda 替换为 Anonymous 内部类。

以上是关于尝试使用 JDBC 模板传递列表并返回地图的主要内容,如果未能解决你的问题,请参考以下文章

获取一个值并将其传递给结构列表并返回一个具有相应值的列表

从 React Context 消费返回无法读取未定义的属性“地图”

我应该返回一个通过引用传递并修改的列表吗?

将列表列表返回到模板并渲染它

将列表/数组作为参数/返回类型传递并返回给 Redshift 中的 UDF

存储过程将多个表返回到spring jdbc模板