!--a11y-->
Verbindung zur Datenbank 
Um einer Datenbank Befehle senden und
Ergebnisse empfangen zu können,
brauchen wir zuerst eine Verbindung zur Datenbank. Um diese Verbindung hat
sich bereits der Administrator des SAP J2EE Servers gekümmert. Er oder
sie hat mit dem
dbpool-Service
eine javax.sql.DataSource unter einem
logischen Namen angelegt, den wir benutzen können, um ein Connection-Objekt zu erzeugen. Um die DataSource zu
identifizieren, benutzen wir den logischen Namen der DataSource und den
JNDI Service (Java Naming and Directory Interface javax.naming.*) des
J2EE Servers. Nehmen wir an, der logische Name sei "CarRentalDB". Das
folgende Code-Beispiel zeigt dann, wie wir das benötigte DataSource-Objekt
erhalten.
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("jdbc/CarRentalDB");
In der ersten Zeile wird ein Kontext erzeugt, der der Ausgangspunkt für die Suche mittels JNDI ist. In der zweiten Zeile wird dann mittels der Methode lookup die gesuchte DataSource nachgeschlagen und zurückgeliefert. Zu beachten ist, dass vor dem logischen Namen der DataSource das Präfix jdbc/ zu setzen ist.
Vom DataSource-Objekt ist es
jetzt nur noch ein kleiner Schritt zum Connection-Objekt.
import java.sql.Connection;
Connection con = ds.getConnection();
Das Connection-Objekt ist Dreh- und Angelpunkt für das Arbeiten mit einer Datenbank. Es verfügt über die Methoden, die uns die weiteren Objekte liefern, die wir benötigen, um Befehle an die Datenbank zu senden:
· Die Methode createStatement liefert ein Statement-Objekt, mit dem einfache SQL-Befehle an die Datenbank gesendet werden können.
· Die Methode createPreparedStatement liefert ein PreparedStatement-Objekt, mit dem SQL-Befehle, die Parameter (Host-Variablen) enthalten, an die Datenbank abgesetzt werden können.
Die Klassen Statement und PreparedStatement werden in den nächsten Abschnitten detaillierter vorgestellt.