Java 从arraylist中存储的数据读取数据

Java 从arraylist中存储的数据读取数据,java,jdbc,arraylist,Java,Jdbc,Arraylist,有人能帮我吗我有这些类,我想读出getAllCustomer,但我不知道如何在我的主方法中实现它。 我已经试过好几种方法了,但效果不好。有人能帮我吗P public static ArrayList<Customer> getAllCustomer() throws ClassNotFoundException, SQLException { Connection conn=DBConnection.getDBConnection().getConnection();

有人能帮我吗我有这些类,我想读出getAllCustomer,但我不知道如何在我的主方法中实现它。 我已经试过好几种方法了,但效果不好。有人能帮我吗P

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());
  }
}