Hi,
ich habe mehrere Klassen in einer "Anwendung", die auf eine DB zugreifen, weil sie daraus Daten beziehen. Ich habe eine Klasse DatabaseConnection die mir eine Verbindung zur DB öffnet, schließt oder zurückliefert. Wenn ich jetzt jedesmal eine Instanz bilde und Daten abfrage, wird immer eine neue Verbindung aufgebaut. Mache ich das mehrfach hintereinander, fliegt enwteder alles aus der Kurve oder wird halt langsam - logisch. Nun suche ich eine Möglichkeit, wie ich nur eine DB-Verbindung in meiner Anwendung öffne, überall in der Anwendung nutzen kann und am Ende kontrolliert schließe.
Eine Notlösung wäre, dass ich als var args eine Datenbankverbindung im Konstruktor jeder Klasse mit übergebe und wenn keine kommt, eine selber aufbaue. Dann gibts aber wieder mit dem Schließen Probleme und schön ist es absolut nicht - zerstört ja alle Klassen irgendwie.
Kann man dies irgendwie günstiger lösen? Eventuell irgendwie mit static in einer Datenbankverwaltungklasse? Das ich halt dort permanent die Verbindung abrufen kann, wenn ich sie vorher einmal geöffnet ahbe. Weiß halt nicht genau, ob dies wirklich so gehen würde.
Danke!
VG
ich habe mehrere Klassen in einer "Anwendung", die auf eine DB zugreifen, weil sie daraus Daten beziehen. Ich habe eine Klasse DatabaseConnection die mir eine Verbindung zur DB öffnet, schließt oder zurückliefert. Wenn ich jetzt jedesmal eine Instanz bilde und Daten abfrage, wird immer eine neue Verbindung aufgebaut. Mache ich das mehrfach hintereinander, fliegt enwteder alles aus der Kurve oder wird halt langsam - logisch. Nun suche ich eine Möglichkeit, wie ich nur eine DB-Verbindung in meiner Anwendung öffne, überall in der Anwendung nutzen kann und am Ende kontrolliert schließe.
Eine Notlösung wäre, dass ich als var args eine Datenbankverbindung im Konstruktor jeder Klasse mit übergebe und wenn keine kommt, eine selber aufbaue. Dann gibts aber wieder mit dem Schließen Probleme und schön ist es absolut nicht - zerstört ja alle Klassen irgendwie.
Kann man dies irgendwie günstiger lösen? Eventuell irgendwie mit static in einer Datenbankverwaltungklasse? Das ich halt dort permanent die Verbindung abrufen kann, wenn ich sie vorher einmal geöffnet ahbe. Weiß halt nicht genau, ob dies wirklich so gehen würde.
Danke!
VG