如何从mysql数据库读取数据并将其插入到已实现的Hashtable中?

时间:2019-03-24 04:12:12

标签: java mysql eclipse

我需要修改程序以从mysql数据库读取用户名和密码,并将其插入到哈希表中,但是我无法将其插入到哈希表中。我在做什么错了?

private static final Map<String, String> accounts = new Hashtable<>();
     public static void main(String args[]){  
        try {  
         Class.forName("com.mysql.cj.jdbc.Driver");  
         Connection con = DriverManager.getConnection( 
                 "jdbc:mysql://localhost:3306/mydb","root","");  
         Statement stmt=con.createStatement();  
         ResultSet rs=stmt.executeQuery("select * from account"); 
         accounts.put(rs.getString("username"), 
                         rs.getString("password"));
        while(rs.next())  
        System.out.println(rs.getString("username") + " " + 
                rs.getString("password"));  
        con.close();  
        }
            catch(Exception e){ 
                System.out.println(e);
            }  

        }

1 个答案:

答案 0 :(得分:0)

请参见here

此行不起作用:

accounts.put(rs.getString("username"), 
             rs.getString("password"));

因为您没有断言ResultSet中有任何数据。

即您必须至少调用rs.next()(以确保其中存在数据),然后才能从 current 行提取数据。