package callable; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; public class CallableStatementExample { public static void main(String[] args) { try { Class.forName("org.postgresql.Driver"); Connection con = DriverManager.getConnection( "jdbc:postgresql:test", "postgres", "postgres"); System.out.println( "Procedure call without parameters"); System.out.println("getfullnames():"); // Das CallableStatement wird hier initialisiert... CallableStatement statement = con.prepareCall("{call getfullnames()}"); // ...und gleich ausgeführt ResultSet result = statement.executeQuery(); while (result.next()) { System.out.println(result.getString(1)); } System.out.println(); System.out.println("Procedure call with parameter"); System.out.println("getfullname(1):"); // Und weil das gerade zu einfach war, bereiten wir // eine gleichlautende Procedure mit Parameter vor... statement = con.prepareCall("{call getfullname(?)}"); // ...setzen den Parameter... statement.setInt(1, 1); // ...und führen die Procedure aus result = statement.executeQuery(); while (result.next()) { System.out.println(result.getString(1)); } } catch (Exception e) { e.printStackTrace(); } } }