package javacodebook.jdbc.primarykeys;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class ReadGeneratedKeys {

    public static void main(String[] args) {
        try {
            Class.forName("org.postgresql.Driver");
            Connection con =
                DriverManager.getConnection(
                    "jdbc:postgresql:test",
                    "postgres",
                    "postgres");
            Statement statement = con.createStatement();
            statement.executeUpdate(
                "INSERT INTO employees"
                    + "(firstname,lastname,since,starttime,"
                    + "lastaccess) VALUES ('Miriam','Bauman',"
                    + "'2001-02-01','10:00:00','2001-02-01 "
                    + "10:00:00.000')");

            // Hier werten wir den generierten Schlüssel aus:
            try {
                ResultSet resultids = statement.getGeneratedKeys();
                while (resultids.next()) {
                    System.out.println(resultids.getInt(1));
                }
            } catch (Throwable t) {
                System.out.println(
                    "ResultSet.getGeneratedKeys() ist not supported by"
                        + " this implementation of JDBC ");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
