从数据库中读取数据并存储在数组列表对象中

大家好,我想在html页面上显示数据库表的全部内容。我试图先从数据库中获取记录并存储在其中,ArrayList但是当我在html页面上返回数组列表时,它仅重复显示最后一条记录作为数据库表的计数。这是下面的代码:

public ArrayList<CustomerDTO> getAllCustomers() 

{

ArrayList<CustomerDTO> customers = new ArrayList<CustomerDTO>();

CustomerDTO customer = null;

Connection c;

try {

c = openConnection();

Statement statement = c.createStatement();

String s = "SELECT * FROM customer";

ResultSet rs = statement.executeQuery(s);

int g =0;

while (rs.next()) {

customer.setId(rs.getInt("id"));

customer.setName(rs.getString("name"));

customer.setAddress(rs.getString("address"));

customer.setPhone(rs.getString("phone"));

customer.setEmail(rs.getString("email"));

customer.setBountPoints(rs.getInt("bonuspoint"));

customer.setTotalsale(rs.getInt("totalsale"));

customers.add(customer);

}

rs.close();

} catch (Exception e) {

System.out.println(e);

}

return customers;

}

回答:

尝试以下代码

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;

}

这是我的模特班

public class Customer {

private String id;

private String name;

private String salary;

private String address;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSalary() {

return salary;

}

public void setSalary(String salary) {

this.salary = salary;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

}

这是我的查看方法

  private void reloadButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             

try {

ArrayList<Customer> customerList = null;

try {

try {

customerList = CustomerController.getAllCustomer();

} catch (SQLException ex) {

Logger.getLogger(veiwCustomerFrame.class.getName()).log(Level.SEVERE, null, ex);

}

} catch (Exception ex) {

Logger.getLogger(ViewCustomerForm.class.getName()).log(Level.SEVERE, null, ex);

}

DefaultTableModel tableModel = (DefaultTableModel) customerTable.getModel();

tableModel.setRowCount(0);

for (Customer customer : customerList) {

Object rowData[] = {customer.getId(), customer.getName(), customer.getAddress(), customer.getSalary()};

tableModel.addRow(rowData);

}

} catch (Exception ex) {

Logger.getLogger(ViewCustomerForm.class.getName()).log(Level.SEVERE, null, ex);

}

}

以上是 从数据库中读取数据并存储在数组列表对象中 的全部内容, 来源链接: utcz.com/qa/410794.html

回到顶部