Прежде всего вы должны создать то, что обычно называют Entity
классом. Это класс, представляющий одну строку в вашей базе данных. В идеале это должно быть отделено от кода, который взаимодействует с подключением к базе данных.
Итак, первый шаг, создайте класс с именем Contact
и поместите в него 4 поля, которые у вас есть: id
, name
, parent
и level
, с соответствующими методами получения. Если вы не ожидаете, что они изменятся вашей программой, и они станут неизменными, рекомендуется обеспечить согласованность. Так что-то вроде:
public class Contact {
private final int id;
private final String name;
private final String parent;
private final String level;
public Contact(String id, String name, String parent, String level) {
this.id = id;
this.name = name;
this.parent = parent;
this.level = level;
}
public int getId() {
return id;
}
//... put the rest of the getter methods
}
Затем в вашем IntegrationWithDB
классе (я бы переименовал его в нечто более значимое, например ContactRepository
), вы можете изменить метод, который вам нужен:
public List<Contact> getContacts() {
// ... your database connection and query code here
this.rs = this.stmt.executeQuery(query);
List<Contact> contacts = new LinkedList<Contact>();
while (rs.next()) {
int id = rs.getInt("node_id");
String name = rs.getString("node_name");
String parent = rs.getString("node_parent");
String level = setLvl(rs.getInt("level"));
contacts.add(new Contact(id, name, parent, level));
}
//... the rest of your database handling code, don't forget to close the connection
return contacts;
}
Затем с displayList()
вам просто нужно вызвать getContacts()
, который даст вам список Contact
объектов для перебора.