如何向HashMap添加多个数据库记录?

时间:2014-11-10 05:52:12

标签: java sql database hashmap jasper-reports

我有一个HashMap,用于存储数据库中的信息。我有一个从数据库的每一列读取的结果集,结果集用于初始化一些字符串变量。然后在HashMap中使用这些字符串。例如,我的HashMap的一行代码是parameters.put("CertificateCode", CertificateCode);。从我开始理解的情况来看,HashMap的第一个参数允许应用程序知道WHERE来放置信息,第二个参数告诉HashMap WHAT信息要放入。

这是我的问题......我注意到如果我尝试通过这些代码行运行循环,它将简单地用新的值替换Ha​​shMap中的现有值,因此只显示数据库中的最后一条记录

如何让HashMap允许存储多个数据库记录?我需要这个工作方式仍然允许我将参数传递给我的Jasper报告。此方法为JasperPrint jasperPrint = JasperFillManager.fillReport(),需要JasperReportMap<String, Object>Connection的参数。

我认为如果我将数组列表添加到HashMap可能会有效。但是,“fillReport”方法不会将此作为适当的参数接受。

任何帮助将不胜感激!我一直在与这个报告库争吵太久了。

谢谢。

1 个答案:

答案 0 :(得分:0)

HashMap不允许重复键,当您尝试为已经存在于地图中的键插入值时,它将使用新值覆盖键值。

如果你想要一张带有重复键的地图,那么你必须去找Guava的Multimap。