# JDBC - Verbindung jedesmal neu?



## ghost (12. Okt 2004)

Muß man für jede Anfrage an die DB ( insert, select, .. ) eine Neue Verbindung erstellen oder ist es möglich am Anfang eine Verbindung zur DB aufzubauen und mehrmals darauf zuzugreifen und falls ja, wie? Ich habe bisher leider immer nur Beispiele gefunden bei denen nach dem Verbindungsaufbau ein Statement an die DB abgesetzt wird.


----------



## akira (12. Okt 2004)

Hi,

Du kannst auf einer Connection auch mehrere Statements absetzen, z.B. bei einer Transaktion.
Generell würde ich Dir einen ConnectionPool empfehlen, z.B. eine DataSource.
Den Pool konfigurierst Du mit einer bestimmten Anzahl von Connections, die für einzelne Statements "ausgeborgt" werden. Durch close() auf der Connection gibst Du sie dem Pool zurück.


----------



## ghost (12. Okt 2004)

Danke akira! Ich hät da noch zwei fragen:

Wie mach ich das mit dem DataSource?
Ist es möglich am Anfang des Progs (GUI ) eine Verbindung aufzubauen und später ( im laufe der Arbeit mit dem Prog ) die Verbindung ( aus anderen Klassen heraus ) zu benutzen?

Danke für Eure Hilfe!


----------



## akira (12. Okt 2004)

Eine DataSource ist ein ConnectionPool im J2EE-Umfeld, wie es z.B Tomcat benutzt. Da Du von einer GUI beim Programmstart sprichst, nehme ich an, daß Du keine Webapplikation entwickelst.

Für eine Standalone-Anwendung kenne ich keine Möglichkeit eine DataSource zu erstellen. Eventuell bietet der Datenbanktreiber bereits eine Klassen mit Poolfunktionalität an. Ansonsten schreib Dir einfach selbst eine Pool-Klasse, dann kannst Du das Verhalten des Pools individuell gestalten, z.B Timeouts, Anforderungsverhalten (bei Bedarf oder vorgehalten) usw. nach eigenen Wünschen implementieren.


----------



## Bleiglanz (13. Okt 2004)

http://jakarta.apache.org/commons/dbcp/index.html


----------



## Gast (13. Okt 2004)

Und wenn man keinen Server hat? Muß man dann jedesmal eine neue Verbindung erstellen?


----------



## Bleiglanz (13. Okt 2004)

nein, den Pool kann man auch "standalone" verwenden


----------



## ghost (13. Okt 2004)

Kann mir jemand dazu Infos geben z.B.: Beispielcodes, Seiten im web, usw. ?  THANKS


----------



## Guest (13. Okt 2004)

Auf der von "Bleiglanz" genannten Seite gibt es doch einen Link zu den Beispielen.  :roll:


----------



## ghost (14. Okt 2004)

Den Link hab ich schon gesehn. Dort gibts aber nur Beispiele für die Nutzung mit einem Server, ich such aber welche ohne Server...


----------



## akira (14. Okt 2004)

Hier ist doch ein Beispiel, wie man ohne Tomcat eine DataSource erstellen kann:

http://cvs.apache.org/viewcvs.cgi/j...nualPoolingDataSourceExample.java?view=markup


----------

