diff --git a/02/src/de/dis2017/data/db/ORM.java b/02/src/de/dis2017/data/db/ORM.java index 71efc94..b148acf 100644 --- a/02/src/de/dis2017/data/db/ORM.java +++ b/02/src/de/dis2017/data/db/ORM.java @@ -3,7 +3,9 @@ package de.dis2017.data.db; import de.dis2017.data.EstateAgent; import java.sql.*; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -23,6 +25,41 @@ public class ORM { _agents = new HashMap<>(); } + /** + * Loads all estate agents from the database and returns a list with them. + * + * @return a list of estate agents + */ + public List getAll() { + List agents = new ArrayList<>(); + try { + // create query + String selectSQL = "SELECT * FROM ESTATEAGENT"; + PreparedStatement pstmt = _connection.prepareStatement(selectSQL); + + // execute query + ResultSet rs = pstmt.executeQuery(); + EstateAgent agent; + while (rs.next()) { + agent = new EstateAgent(); + agent.setId(rs.getInt("ID")); + agent.setName(rs.getString("name")); + agent.setAddress(rs.getString("address")); + agent.setLogin(rs.getString("login")); + agent.setPassword(rs.getString("password")); + + _agents.put(agent.getId(), agent); + agents.add(agent); + } + rs.close(); + pstmt.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return agents; + } + /** * Loads the estate agent with the given ID from database and returns the corresponding object. *