在java中用数据库填充数组列表

时间:2017-04-01 14:44:19

标签: java javafx

我创建函数他返回一个数组列表 并在使用此数组列表填充jfxtreetableview后

public ArrayList afficher_user() throws SQLException{    

    List<String> table =  new ArrayList<String>();
        Connection conn=null;

      try {
            Class.forName(Driver);
            conn = DriverManager.getConnection(URL,"root","");
            String sql ="select * from utilisateur";
            PreparedStatement Stmt = conn.prepareStatement(sql);
            ResultSet rs = Stmt.executeQuery(sql);


            while(rs.next()){
            setId(rs.getInt("id"));
            setNom(rs.getString("nom"));
            setPrenom(rs.getString("prenom"));
            setCin(rs.getString("cin"));
            setAdresse(rs.getString("adresse"));
            setTel(rs.getString("tel"));
            setDn(rs.getString("dn"));              
            }
            rs.close();
            conn.close();

      } catch (ClassNotFoundException ex) {
            System.err.println(ex.getMessage());
      }

  return table;
}

我如何将此结果放入数组列表

1 个答案:

答案 0 :(得分:0)

假设您需要返回User个对象的列表,您需要在while循环内创建一个对象并将其添加到列表中,例如:

List<User> data =  new ArrayList<String>();
    Connection conn=null;

  try {
        Class.forName(Driver);
        conn = DriverManager.getConnection(URL,"root","");
        String sql ="select * from utilisateur";
        PreparedStatement Stmt = conn.prepareStatement(sql);
        ResultSet rs = Stmt.executeQuery(sql);

        while(rs.next()){
        User user = new User();
        user.setId(rs.getInt("id"));
        user.setNom(rs.getString("nom"));
        user.setPrenom(rs.getString("prenom"));
        user.setCin(rs.getString("cin"));
        user.setAdresse(rs.getString("adresse"));
        user.setTel(rs.getString("tel"));
        user.setDn(rs.getString("dn"));              
        data.add(user);
        }
        rs.close();
        conn.close();

  } catch (ClassNotFoundException ex) {
        System.err.println(ex.getMessage());
  }

  return data;