有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中在单个列表中存储多个数据库列值

我想用Selenium Java比较两个数据库表。为此,我尝试在一个列表中存储一个表的值,在另一个列表中存储其他表的值。稍后我想比较两个列表。但我无法在单个列表中存储数据库列的所有值。这就是我试过的

public class Employee{

    public void execute_query() throws Exception{
        Class.forName(dbdriver);    
        con=DriverManager.getConnection(URL,DB_UserName,DB_Password);
        query ="select * from Employee;
        stmt = con.createStatement();   
        rs = stmt.executeQuery(query);
        ArrayList<Employee> customerList = new ArrayList<>();
        while(rs.next()) {
            Employee customer = new Employee(rs.getString("ID"),rs.getString("LastName"),rs.getString("FirstName");
            customerList.add(customer);
        }
    }
}

但我越来越近了

Employee customer = new Employee(rs.getString("ID"),rs.getString("LastName"),rs.getString("FirstName"));

The constructor Employee(String,String,String)is undefined. Is there any other way to store all database column values in single list?


共 (2) 个答案

  1. # 1 楼答案

    尝试rs.rs.getInt(“ID”)而不是rs.getString(“ID”)列表项

    无论如何,你可以用不同的方式储存它们

    HashMap<String>,HashMap<String,String>>
    //As in [Id,[FName,LName]]
    
  2. # 2 楼答案

    在Employee类中,可能缺少该参数序列的构造函数。这将需要创建,或者必须使用生成器模式/设置器来填充类的字段

    此外,如果ID字段来自数据库中的主键字段,而不是字符串,则它可能是整数或长字符——但这只是一个预测,因为我看不到您正在使用的数据库,也看不到主键是如何配置的