Wpis z mikrobloga

Panowie Java developerowie, pytanie mam odnośnie baz danych. Mianowicie mam prosta CRUD'ową aplikację z bazą SQLite, bez hibernate, chce się nauczyc i pocwiczyc proste operacje na bazach za pomoca JDBC. I teraz tak, w jednej klasie o nazwie 'Database' mam zadeklarowane połaczenie z bazą i kilkanaście metod z selectami, insertami i update'ami. Działania te są wykonywane na obiektach klasy 'Film', dodawanie filmu, przypisywanie ulubionego do danego usera itd. Mam też klasę 'User', gdzie polami są userId, username, pass. Chcialbym utworzyc metode do zmiany hasła po podaniu starego, zmiana adresu email itp.
I nie do końca wiem jak to się odbywa zazwyczaj, w osobniej klasie 'UsersDAO' tworzyć od nowa połaczenie z bazą i tam tworzyć metody updatujace haslo email itd? Czy tworzyc pierdyliard metod w jednej klasie 'Database()' przez co zrobi się taki tasiemiec? A może w 'Database()' zrobić po prostu metodę która jako argument przyjmuje obiekt klasy 'PrepareStatement' a zwraca 'ResultSet' takiego selecta i traktować jako uniwersalne zapytanie, preparując na bieżąco obiekty 'PrepareStatement' wg potrzeb? btw jesli ktoś zna jakieś źródła z takimi wzorcami projektowymi (o ile dobrze to nazwałem, chodzi mi o przykłady takich programów do podpatrzenia) to byłbym wdzięczy, z góry dzięki za pomoc ;)
#java #naukaprogramowania #javadevmatt
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pabl0esc0bar: W takim wypadku stworzyłbym interfejs który działałby na zasadzie fasady - ukrywał complexity połączenia z bazą danych, może nawet jako formę port-adapter, żeby można było potem bazę zmienić pod spodem jak coś. W tym interfejsie robisz metody do updejtowania poszczególnych rzeczy. Potem masz UserService, który ma metodę obsługującą abstrakcję User, bez wiedzy o tym gdzie ona faktycznie jest przetrzymywana - czyli wystawiasz jakieś metodki do edycji tego hasła/email. UserService
  • Odpowiedz