JDBC结果集并非迭代所有行



我需要在某些代码上第二对。我觉得我缺少一些简单的东西。我的Mariadb中有一个名为Jeff_tables的表,其中包含4个条目。我创建了一个实用程序线程,该线程在运行方法中运行以下代码:

try {
        getConnection();
        String query = "SELECT * FROM jeff_tables";
        Statement statement = connection.createStatement();
        ResultSet rs = statement.executeQuery(query);
        //rs.last(); //returns 4 rows
        //System.out.println("result set size: " + rs.getRow() );
        while(rs.next()) {
            Integer tenant = rs.getInt("TENANT_ID");
            String table = rs.getString("TABLE_NAME");
            System.out.println("Inserting k-v pair: " + tenant + " " + table);
            tableNames.put(tenant, table);
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }

当我删除rs.last()和rs.getrow()行时,它返回4,这是它应该返回的正确数量的条目。但是,实际发生的事情是它进入我的时循环,为第一行打印正确的值,然后在put语句上抛出无效指针。我还尝试在线程之外运行此代码,但是它在做同样的事情。任何建议将不胜感激。预先感谢。

我发布了此问题,我就看到了问题。这只是一个简单的实例,即在尝试将值插入其中之前忘记实例化哈希图。有趣

相关内容

  • 没有找到相关文章

最新更新