guarda mi è capitato di fare in questo modo:
classe DBManager che nel costruttore prendeva i parametri per la connessione e esponeva un metodo getConnection che restituiva una connessione.
Le azioni da eseguire sulle tabelle venivano mappate attraverso varie classi. Per esempio ho una tabella clienti sulla quale so che devo farci 2 select, una è del tipo select * from client, un'altra del tipo select * from clienti where id = .
Mi creavo quindi una classe ClientiDB che nel costruttore prendeva una connessione e esponeva 2 metodi del tipo
getCustomerInfo() e getCustomerInfoWithID(String id). In base alle esigenze questa classe mi ritornava una struttura dati pronta per essere utilizzata....