如何在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?
# 1 楼答案
尝试rs.rs.getInt(“ID”)而不是rs.getString(“ID”)列表项
无论如何,你可以用不同的方式储存它们
# 2 楼答案
在Employee类中,可能缺少该参数序列的构造函数。这将需要创建,或者必须使用生成器模式/设置器来填充类的字段
此外,如果ID字段来自数据库中的主键字段,而不是字符串,则它可能是整数或长字符——但这只是一个预测,因为我看不到您正在使用的数据库,也看不到主键是如何配置的