Buongiorno, pongo a tutti una domanda, sperando di essere chiaro e spiegare cosa intendo

Sviluppando un'applicazione java che si connette ad un database, in piattaforma jse, quale può essere un modo corretto di gestire la connessione al database?

Avere in una classe tutti i metodi che richiedono interazione con il database, quindi avere ad esempio
un metodo trovaLibri, un metodo trovaGiornali etc...

Oppure

Avere un unico metodo a cui passare la query che mi ritorna poi un resultset o mette tutto in un array/vector

con il secondo metodo eviterei inutili ripetizioni e ottimizzerei il codice, ma si complica la gestione.
Volendo utilizzare PreparedStatement, devo far bene attenzione passare i giusti parametri nella giusta maniera etc...
Cosa che invece non è necessaria nel primo caso

Spero di essere stato chiaro anche se non volevo dilungarmi troppo

Grazie a tutti