package bazy.a_poczatek;

import java.math.BigDecimal;
import java.sql.*;

public class PolaczPostgres1 {

    public static void main(String[] args) throws SQLException {

        Connection c = DriverManager.getConnection("jdbc:postgresql://localhost/hr", "kurs", "abc123");
        System.out.println("Mam połączenie: " + c);

        Statement stmt = c.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * FROM employees");
        System.out.println("ResultSet: " + rs);

        while(rs.next()) {
            // odczyt wg numerów kolumn, numeracja od 1
            int id = rs.getInt(1);
            String firstName = rs.getString(2);
            String lastName = rs.getString(3);

            // odczyt wg nazw kolumn:
            String job = rs.getString("job_id");
            BigDecimal salary = rs.getBigDecimal("salary");

            System.out.printf("%d: %s %s (%s) zarabia %s\n", id, firstName, lastName, job, salary);

        }
        // dobrą praktyką jest zamykanie zasobów ResultSet i Statement - bo serwer SQL może trzymać dla nas jakieś zasoby
        rs.close();
        stmt.close();
        c.close();
    }
}
