# Grundlegende Klassen-Design Frage



## Meisenmann (3. Apr 2014)

Hi,

ich habe keine gute Idee, wie ich folgendes Problem modellieren soll:

Bisher gibt es eine Klasse 'Database', die die Datenbankverbindung verwaltet. Sie startet den DB-Server, baut eine Verbindung auf und setzt DB-Anfragen ab. Bei der Klasse handelt es sich um ein Singleton, so dass es nur eine Instanz davon gibt.


```
Database db = Database.getInstance();
db.executeStatement(...);
db.getPreparedStatement(...);
db.getCallableStatement(...);
...
```

Nun brauche ich aber drei Verbindungen (Connection-Objekte) und da die Database Klasse an vielen Stellen im Code genutzt wird, möchte ich das Design bestmöglich beibehalten. 

Meine Idee

db.setConnection(1);
db.executeStatement(...);
db.setConnection(2);
db.executeStatement(...);
...

Allerdings weiss ich nicht genau wie sich das mit Multithreading verhält. Hat jemand eine Idee, wie ich die Verwaltung von drei Verbindungen besser in eine Singleton-Klasse integrieren kann?

Danke und viele Grüße,
Meisenmann


----------

