Dzień dobry :)
Mam pytanie , przeszukałem mnóstwo źródeł zanim piszę ten tekst i nie znalazłem odpowiedzi.
Pisze program do dodawanie,edytowania,różnych opcji wyciągania danych z bazy danych z perspektywy " pani zza biurka " .
Łącze się z bazą za pomocą jdbc. I tutaj mam problem . Napisałem proste DAO , stworzyłem gui itd itp .
Czy dobry rozwiązaniem jest posiadanie klasy manager takiej :
public class Manager
{
private Connection conn;
public Manager() throws Exception
{
try
{
Class.forName("com.mysql.jdbc.Driver");
this.conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bibl", "root", "root");
} catch (Exception e) {
e.printStackTrace();
}
}
public Connection getConn()
{
return this.conn;
}
public void close() throws SQLException {
this.conn.close();
}
}
I w Main'ie stworzyć obiekt tego typu i do każdej funkcji DAO przekazywać Man.getConn();
jako parametr funkcji i w DAO tworzyć z tego połączenia statement itd.? ( na koniecMan.close();
),
czy może lepszą praktyką będzie w każdej funkcji DAO kiedy potrzebuje użyć SQL tworzyć nowy obiekt Manager czyli nowe połączenie ?
Tworzenie basenu połączeń w moim przypadku będzie chyba przerostem formy nad treścią to tak prostej aplikacji nie webowej gdzie jednocześnie korzysta z niej jeden użytkownik .
Z góry dziękuję za pomoc :)