Mapowanie

S1
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:20
0

witam, mam pytanie odnosnie mapowania, czym jest mapowanie? i po co sie je stosuje? chodzi mi dokladnie o przypadek gdzie mam z formularza przeslac dane do controlera, jako powiedzmy ContactForm, pozniej zapisac do bazy danych i na koncu wyswietlic zmodernizowane dane z bazy.
Chodzi o to zeby nie pobierac tez wszystkich danych tylko te potrzebne, np .numery telefonów.

Z gory dziekuje za pomoc

E9
  • Rejestracja:ponad 8 lat
  • Ostatnio:5 dni
  • Postów:216
1

To jakieś zadanie na studia? Jeżeli tak to napisz całość polecenia i zadaj konkretne pytania, bo ciężko wywnioskowac z Twojego posta w czym masz problem.

S1
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:20
0

Do stworzenia mam formularz kontaktowy, którego pola maja byc zapisane w bazie danych, z bazy danych mam pobrac liste samych numerow telefonow.

E9
  • Rejestracja:ponad 8 lat
  • Ostatnio:5 dni
  • Postów:216
0

Ok, mamy nieco bardziej konkretne informacje. Pozostaje pytanie - w czym dokładnie masz problem, na czym utknąłeś? Napisałeś już jakiś kod i coś nie działa?

edytowany 1x, ostatnio: Emdzej93
stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 godziny
1

Ale jakie mapowanie? ORM?


λλλ
S1
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:20
0

z formularza dostaje dane od uzytkownika i chce je przypisac do odpowiednich rekordow w bazie, tylko jak. ?
Formularz i baza ma pola: imie, nazwisko, data urodzenia, telefon, adres.
Ale z bazy chce zwrocic tylko imie nazwisko i wiek

w modelu jest klasa przedstawiajaca rekordy bazy, czy dane z formularza wystarczy odpowiednio poprzez settery przypisac do poszczegolnych pol klasy ??
czy tu chodzi o zwykle przypisanie wartosci do danych zmiennych ?
gdzie powinno sie umieszczac metody pobierajace poszczegolne dane z bazy ? w serwisie ?
Metoda ktora ma zmienic date urodzenia na wiek gdzie powinna byc umieszczona?? w kontrolerze ?

S1
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:20
0
stivens napisał(a):

Ale jakie mapowanie? ORM?

tak

stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 godziny
1
Sa1rus napisał(a):

w modelu jest klasa przedstawiajaca rekordy bazy, czy dane z formularza wystarczy odpowiednio poprzez settery przypisac do poszczegolnych pol klasy ??
czy tu chodzi o zwykle przypisanie wartosci do danych zmiennych ?

Tak. Chociaz bardziej do modelu niz zmiennych

gdzie powinno sie umieszczac metody pobierajace poszczegolne dane z bazy ? w serwisie ?

W repository. Z taka gwiazdka, ze jak nie planujesz innego "modelu" persystencji to ORM juz robi za repo


λλλ
edytowany 1x, ostatnio: stivens
S1
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:20
0

co w takim razie umieszcza się w serwisie ?

stivens
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 godziny
1

Np.

Metoda ktora ma zmienic date urodzenia na wiek gdzie powinna byc umieszczona??

Wyprzedzajac pytanie. Controller reaguje na dzialania uzytkownika i wywoluje metody z serwisu


λλλ
edytowany 2x, ostatnio: stivens
TheLearner
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Krypton
  • Postów:298
0

To ja mam również pytanie, bo akurat sam się uczę takich rzeczy: czy w przypadku kolegi wystarczy zrobić odpowiednie klasy Entity reprezentujące bazy danych, a następnie stworzyć obiekt DTO by pobierać z niego numery telefonów? Czy to bez sensu i nie do tego służy DTO?


S9
  • Rejestracja:ponad 10 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
1

@TheLearner: wystarczy zapytanie SQL


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
TheLearner
TheLearner
głupi ja :) ale generalnie cały czas nie do końca rozumiem czym jest DTO :)
S9
"obiekt" który służy jako wrapper na dane, przy czym DTOsy to bardziej na styku z bazami danych, w kontrolerach itp
S9
Ps. Nie wolno o sobie pisać że jest się głupim!
cerrato
Lepiej o sobie niż o kimś innym :P
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:28 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
2
TheLearner napisał(a):

To ja mam również pytanie, bo akurat sam się uczę takich rzeczy: czy w przypadku kolegi wystarczy zrobić odpowiednie klasy Entity reprezentujące bazy danych, a następnie stworzyć obiekt DTO by pobierać z niego numery telefonów? Czy to bez sensu i nie do tego służy DTO?

Ogólnie powinieneś budować aplikacje wokół czegoś co się nazywa obiekty biznesowe (encje biznesowe). Te obiekty/encje biznesowe mają odwzorowywać domenę czyli twój problem najlepiej jak się da (są modelem domeny). W idealnym świece powinny być to jedyne obiekty danych (encje) jakie potrzebujesz.

Ponieważ nie żyjemy w idealnym świece jest prawdopodobne że będziesz potrzebować encji (obiektów danych) bazodanowych do komunikacji z bazą danych. To prawdopodobieństwo rośnie proporcjonalnie do czasu życia aplikacji. Czyli im dłużej żyje aplikacja tym bardziej prawdopodobne że model domeny będzie się nie zgadzać z modelem w bazie danych i będzie potrzebne mapowanie w kodzie między modelami.

Jeszcze częstszym przypadkiem jest mapowanie modelu domeny na DTO (Data Transfer Object) czyli obiekty dedykowane do przesyłania przez sieć. W DTO często są spłaszczone (dane w nich mają mało poziomów zagłębień) w przeciwieństwie do encji z modelu domenowego gdzie stara się agregować podobne pola razem w obiekty i walczy się o to żeby żadna klasa nie miała 10 czy 20 pól (co w DTO się zdarza)

Ogólnie jak będziesz pisać prostego CRUDa na inżyniera/magisterkę czy żeby nauczyć się nowego wspaniałego frameworka to na 90% model domeny będzie identyczny z modelem bazy danych i z modelem DTO i żadne mapowania nie będą potrzebne


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.