Java 从arraylist中存储的数据读取数据
有人能帮我吗我有这些类,我想读出getAllCustomer,但我不知道如何在我的主方法中实现它。 我已经试过好几种方法了,但效果不好。有人能帮我吗PJava 从arraylist中存储的数据读取数据,java,jdbc,arraylist,Java,Jdbc,Arraylist,有人能帮我吗我有这些类,我想读出getAllCustomer,但我不知道如何在我的主方法中实现它。 我已经试过好几种方法了,但效果不好。有人能帮我吗P public static ArrayList<Customer> getAllCustomer() throws ClassNotFoundException, SQLException { Connection conn=DBConnection.getDBConnection().getConnection();
public static ArrayList<Customer> getAllCustomer() throws ClassNotFoundException, SQLException {
Connection conn=DBConnection.getDBConnection().getConnection();
Statement stm;
stm = conn.createStatement();
String sql = "Select * From Customer";
ResultSet rst;
rst = stm.executeQuery(sql);
ArrayList<Customer> customerList = new ArrayList<>();
while (rst.next()) {
Customer customer = new Customer(rst.getString("id"), rst.getString("name"), rst.getString("address"), rst.getDouble("salary"));
customerList.add(customer);
}
return customerList;
}
假设您的getAllCustomer方法在类A中。然后在你的主要方法中,你做如下
public void main(String[] args){
List<Customer> customers = A.getAllCustomer();
}
根据问题的性质,薪资字段的数据类型为字符串,但您得到的值为双精度 您只需将rst.getDoublesalary更改为rst.getStringsalary 要调用该方法,请执行以下操作:
public static void main(String[] args)
ArrayList<Customer> customers = YourDALClass.getAllCustomer();
for(Customer c : customers){
System.out.println(c.getName());
}
}
您的Customer类显然没有构造函数,那么您在getAllCustomer中试图调用什么呢?除此之外,你说它工作不好是什么意思?你想达到什么目标?你是怎么尝试的?你遇到了什么障碍?请更具体一点。不要使用select*好的,我添加了crunstructor。。。我必须承认这不是真正的代码,我是在网上发现的。但是没有说明如何调用该方法。@user902383当我想找到所有数据记录时,我应该写什么?我的意思是它没有很好地工作,我发现我无法编译代码。当我想调用getAllCustomers方法时;但我首先需要一个类A的实例?只要你有一个类A,那么你就可以全部使用A.getAllCustomer,而不使用A的实例,因为getAllCustomer是静态类级别的方法好的,我之前说过这只是一个示例,在我的真实代码中,我忽略了静态,现在它似乎工作得很好Thanks^^很高兴它起作用了,所以你现在可以接受这个答案了谢谢。。现在工作!getDouble的错误只是在示例中,在我的实际代码中,我只使用了GetString;
public static void main(String[] args)
ArrayList<Customer> customers = YourDALClass.getAllCustomer();
for(Customer c : customers){
System.out.println(c.getName());
}
}