package insert; import java.sql.*; public class InsertIntoDB { 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(); // Datenbank erstmal sauber machen statement.executeUpdate( "DELETE FROM employees WHERE id in(12,13)"); // Einen Datensatz per executeUpdate einfügen statement.executeUpdate( "INSERT INTO employees(id,firstname,lastname)" + " VALUES (12,'Miriam','Bauman')"); // Den Beispieldatensatz ausgeben ResultSet result = statement.executeQuery( "SELECT * FROM employees WHERE id=12"); while (result.next()) { System.out.println( "Inserted " + result.getString("firstname") + " " + result.getString("lastname")); } // Insert über eine veränderbares ResultSet // ...erstmal ein veränderbares ResultSet // beim JDBC-Treiber bestellen try { statement = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); } catch (Exception e) { System.out.println( "The used JDBC driver does not support " + "updatable ResultSets"); System.exit(0); } // Dann (k)einen Datensatz von employees auswaehlen // Natürlich kann man das SELECT hier beliebig // formulieren, die Variante unten ist die sparsamste statement.executeQuery( "SELECT * FROM employees WHERE false"); result.moveToInsertRow(); result.updateString("firstname", "Hezekiel"); result.updateString("lastname", "Walters"); result.updateInt("id", 13); result.insertRow(); result = statement.executeQuery( "SELECT * FROM employees WHERE id=13"); while (result.next()) { System.out.println( "Inserted " + result.getString("firstname") + " " + result.getString("lastname")); } } catch (Exception e) { e.printStackTrace(); } } }