Помогите со студенческой задачей JDBC + Postgre
То есть вот это для меня немного по-китайски:
Абстрагируйтесь. Без разницы, как вы создали соединение, без разницы, какое оно, просто используйте его.
1. набишите функцию initDb. в нее поместите код
Class.forName("org.postgresql.Driver");
Этот код будете вызывать только один раз, при старте проги.
2 . Напишите функцию
Set getTakeoffs(String iata) throws SQLException
Обратите вниманиe, что у нее нет параметра "Connection"
Задача у этой функции открыть соединение, вызвать другую функцию, которая собственно и получит данные из Базы данных и закрыть соединение.Я уберу обработку исключений для простоты
Set<Object> getTakeoffs(String iata) throws SQLException{ conn = DriverManager.getConnection(DB_URL, USER, PASS); return getTakeoffs(iata, conn ); // !!!! finally block used to close resources conn.close(); }
3. Напишите функцию
Set getTakeoffs(String iata, Connection dbConnection) throws SQLException
Обратите вниманиe, что у нее есть параметр "Connection".
И что именно ее мы вызвали, когда писали getTakeoffs(iata, conn );
Set<Object> getTakeoffs(String iata, Connection dbConnection) throws SQLException{ Set<Object> result = new HashSet<>(); stmt = conn.createStatement(); String sql = "SELECT * FROM FLUG"; stmt.executeQuery(sql); ResultSet rs = stmt.executeQuery(query); Здесь заполнение списка "result" из ResultSet // !!!! finally block used to close resources stmt.close(); return result; }