java - 从 HashMap 中的数据库获取我的数据

标签 java mysql hashmap

我正在尝试从数据库获取 HashMap 中的数据。当原始查询返回时,我无法正确获取数据。

HashMap<String, String> hm = new HashMap<String, String>();
{

        q.append("SELECT count(*) as cnt, date(updatedOn) as updatedOnDate FROM t_user_segment WHERE updatedOn >= DATE_SUB(CURRENT_DATE, INTERVAL 15 DAY) group by updatedOnDate;");
        SQLQuery query = session.createSQLQuery(q.toString());
        List<Object[]> result = query.list();
        for (Object[] object : result)
        {
            System.out.println(hm.put(object[0].toString(),object[1].toString()));
            //hm.put(object[0].toString(), object[1].toString());
        }
    } 

我得到这样的数据:

null
null
null
2015-10-27
null
2015-10-26
2015-10-30
2015-11-05

但是当我在 SQL 上运行相同的查询时,我得到如下原始数据:

3 2015-10-27
4 2015-10-27
4 2015-10-27
5 2015-10-27
3 2015-10-27
2 2015-10-26
5 2015-10-30
3 2015-11-05

所以请有人帮助我解决我的问题。

最佳答案

您正在 HashMap.put 上执行 System.out

如果您阅读了 HashMap.put 的 JavaDoc它说:

Returns: the previous value associated with key, or null if there was no mapping for key. (A null return can also indicate that the map previously associated null with key.)

因此,当值第一次放入时,您的代码将打印null,因为给定的键没有先前的 em>,那么第二个 put 返回前一个

基本上,按照此顺序给出结果集,您将得到:

3 2015-10-27 //no value for key 3, prints null
4 2015-10-27 //no value for key 4, prints null
4 2015-10-27 //value exists for key 4, prints previous value - 2015-10-27
5 2015-10-27 //no value for key 5, prints null
3 2015-10-27 //value exists for key 3, prints previous value - 2015-10-27
2 2015-10-26 //no value for key 2, prints null
5 2015-10-30 //value exists for key 5, prints previous value - 2015-10-27
3 2015-11-05 //value exists for key 3, prints previous value - 2015-10-27

使用 System.out 并不是一个很好的调试方法,您应该检查 IDE 中的变量。

关于java - 从 HashMap 中的数据库获取我的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33605427/

相关文章:

javafx组合框可编辑自动完成

java - 插入到 Hashmaps 的 Hashmap 中,Java

java - 通过 Hashmap 进行搜索并将结果添加到列表中

java - 将方阵旋转 90 度

java - 由 : java. lang.LinkageError 引起:无法链接 com/---

php - 如何让它显示 echo

php cookie 不工作

mysql - 如何进行 "inserts if not exists"的 MySQL 插入查询?

使用 HashMap 实现多线程的 Java 单例同步

java - 如何观察可观察类的属性