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