【问题标题】:How to store multiple database column values in a single list in Java如何将多个数据库列值存储在 Java 中的单个列表中
【发布时间】:2020-02-03 13:04:11
【问题描述】:

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

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"));

构造函数 Employee(String,String,String) 未定义。 有没有其他方法可以将所有数据库列值存储在单个列表中?

【问题讨论】:

    标签: java database list selenium


    【解决方案1】:

    您可能在 Employee 类中缺少该参数序列的构造函数。这将需要创建,否则您将不得不使用构建器模式/设置器来填充类的字段。

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

    【讨论】:

      【解决方案2】:

      尝试 rs.rs.getInt("ID") 而不是 rs.getString("ID")List item

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

      HashMap<String>,HashMap<String,String>>
      //As in [Id,[FName,LName]]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多