我有一个HashMap,用于存储数据库中的信息。我有一个从数据库的每一列读取的结果集,结果集用于初始化一些字符串变量。然后在HashMap中使用这些字符串。例如,我的HashMap的一行代码是parameters.put("CertificateCode", CertificateCode);
。从我开始理解的情况来看,HashMap的第一个参数允许应用程序知道WHERE来放置信息,第二个参数告诉HashMap WHAT信息要放入。
这是我的问题......我注意到如果我尝试通过这些代码行运行循环,它将简单地用新的值替换HashMap中的现有值,因此只显示数据库中的最后一条记录
如何让HashMap允许存储多个数据库记录?我需要这个工作方式仍然允许我将参数传递给我的Jasper报告。此方法为JasperPrint jasperPrint = JasperFillManager.fillReport()
,需要JasperReport
,Map<String, Object>
和Connection
的参数。
我认为如果我将数组列表添加到HashMap可能会有效。但是,“fillReport”方法不会将此作为适当的参数接受。
任何帮助将不胜感激!我一直在与这个报告库争吵太久了。
谢谢。
答案 0 :(得分:0)
HashMap不允许重复键,当您尝试为已经存在于地图中的键插入值时,它将使用新值覆盖键值。
如果你想要一张带有重复键的地图,那么你必须去找Guava的Multimap。