18.7.1 | Grundlagen |
In Abbildung 18.16 werden die einzelnen Schritte bei der Verwendung von vorbereitetem SQL dargestellt.Mit dem Fragezeichen (»?«) werden in der SQL-Anweisung Parameter (Bind-Variablen) definiert. Über die Methode prepareStatement() wird anschließend ein PreparedStatement-Exemplar erzeugt. Im Unterschied zu einfachem SQL wird hierbei bereits die SQL-Anweisung inklusive Parameter-Definitionen übergeben. Im nächsten Schritt werden die Parameter mit Werten belegt. Die Klasse PreparedStatement stellt hierfür entsprechende setXXX()-Methoden zur Verfügung, wobei XXX für einen konkreten Datentyp steht. Damit kann man die Lücken in der SQL-Anweisung mit Werten verschiedener Datentypen belegen.
Im folgenden Beispiel wird die Anwendung einer vorbereiteten SQL-Anweisung demonstriert:Connection con; // Hier Verbindungsaufbau ... String sql = "SELECT * FROM titel WHERE tit_id = ?"; PreparedStatement prep = con.prepareStatement(sql); // Parameter setzen prep.setLong(1, 2); // Ergebnis abfragen ResultSet rs = prep.executeQuery(); // Hier Ergebnisverarbeitung ...
Nachdem alle Parameter gesetzt sind, wird das Ergebnis durch Aufruf von executeQuery() ermittelt. DML- und DDL-Anweisungen werden entsprechend mit der Methode executeUpdate() ausgeführt.