Databases Reference
In-Depth Information
class Connector{
private static Connection con;
private Connector(){}
public static Connection getConnection(){
if(con==null || con.isClosed()){
Class.forName("org.h2.Driver");
con=DriverManager.getConnection("jdbc:h2:demo");
}
return con;
}
public void close(){
con.close();
}
}
Eine neue Verbindung wird nur bei Bedarf geöffnet; nach Möglichkeit wird die
bestehende Verbindung genutzt. Wir können mit
Connector.getConnection()
jederzeit eine Verbindung abrufen. In anspruchsvolleren Anwendungen reicht
dieser einfache Ansatz nicht aus. Die Verbindungen werden dann auch gerne
in Connection-Pools verwaltet und nicht jedes Mal geschlossen, sondern wieder-
verwendet. Diese Pools gehören nicht zu den Bordmitteln von JDBC, sind aber
Bestandteil von Frameworks wie Hibernate, die auf JDBC aufbauen (siehe auch
Kapitel 19).
Hinweis
Der Aufbau einer Verbindung zum RDBMS nutzt intensiv Ressourcen
wie CPU-Zeit, Hauptspeicher und Netzwerkkapazitäten. Gehen Sie
sparsam mit Datenbankverbindungen um.
18.5
Aus der Datenbank in das Programm
Wenn die Verbindung zur Datenbank steht, können wir damit anfangen, SQL-
Anweisungen auszuführen. Das ist mit Hilfe der Klasse Statement einfach mög-
lich. Auch hier gibt es keinen Konstruktor zum Erzeugen passender Objekte, son-
dern wir führen eine zum Typ Connection gehörende statische Methode aus:
Statement statement = con.createStatement();
Wenn wir beispielsweise eine Tabelle erzeugen wollen, übergeben wir die zuge-
hörige create table -Anweisung einfach als Text:
 
Search WWH ::




Custom Search