Spring baza danych

0

Tworzę swoją pierwszą stronę internetową i pojawiła się pierwsza rzecz, która zmusza mnie do użycia baz danych. Chodzi o proste dodawanie notatek wraz z tytułem ze strony. Czytałem dziś o hibernate i wielu różnych sposobach konfiguracji i się trochę pogłubiłem. Niedawno pisałem prostą apkę w JaveSE, użyłem JBDC + sqlite ale nie musiałem stawiać żadnych serwerów ani nic podobnego. Zarejestrowałem tylko sqlite i utworzyłem tabele w samym kodzie programu i po prostu w folderze z apką powstał mi plik bazodanowy.

Jaka jest różnica robienia takich aplikacji na PC i aplikacji internetowych ? Na razie uruchamiam swoją stronę na tomcacie, czyli lokalnym serwerze tak ? Jak wstawie apkę na serwer to tam już zamiast tomcata to wszystko będzie obsługiwane przez coś innego ? Gdzie mam w takim razie postawić bazę danych ? W tym tomcacie ? Czy mogę zrobić jak z tym sqlitem ?

Po prostu pogubiłem się trochę w temacie baz danych. Jeśli wstawię już pliki na serwer, żeby strona normalnie fukncjonowała to będę musiał zmienić tą całę bazę danych ? Wtedy z jednego serwera na której siedzi stronka będę musiał komunikować się z drugim serwerem na której jest baza danych ?

Widzę, że Spring udostępnia konfigurację Data Source jako JNDI, jako źródło danych z pulą, jako źródło danych oparte na sterowniku JDBC i jeszcze jakieś wbudowane i szczerze mówiąc już mi się pomieszało. Czytam to wszystko od rana już chyba 8 godzinę bo po chcę dodać implementacje zapisywanie w bazie tych notatek za pomocą hibernate ale nie do końca rozumiem czym jest to JNDI i czym się różni źródło danych z pulą od tego na sterowniku JDBC. Bo zakładam, że te systemy wbudowany to jakieś symulowanie bazy danych ?

Może ktoś poleci jakiś kurs, książkę odnośnie baz danych od 0.

0

??
Podajesz normalnie URL do bazy danych i tyle

0

@scibi92

Ok, zadam krótkie pytania. Jaka jest różnica używania baz w aplikacjach desktopowych javy se oraz webowych javy ee ? Gdybyś mógł pokrótce opisać.

Jeśli chcę bazę dla strony internetowej to mam ją postawić u siebie na PC czy jest inne rozwiązanie ? Kiedy się stawia bazy u siebie na PC?

0

Skup się po pierwsze na pojęciu serwera. Skoro nazywasz tomcat serwerem, to masz pewnych klientów(aplikacje), które korzystają z tego serwera. Masz też SERWER bazy danych on też ma przecież jakiś klientów. Każdy proces/serwer powinien być identyfikowany na podstawie URL są to pewne ścieżki zawierające między innymi adresy portów. Coś aby serwer był unikalnie identyfikowany w sieci. Stawiasz sobie serwer on ma jakąś ścieżkę URL. Np baze danych MySQL domyślnie będziesz identyfikować poprzez port 3306 prawdopodobnie na adresie localhost/127.0.0.1 oraz jeżeli twoja baza danych nazywa się naprzykład "FirstDatabase" to twój URL będzie wyglądał tak:
localhost:3306/FirstDatabase Więc te serwery są niezależne od siebie adresem tomcata może być localhost:8080 Jeżeli twoja baza danych znajduję się na innej maszynie(czyt. komputerze) wtedy te ścieżki URL się zmienią po localhost identyfikuje tą samą maszynę. I musisz się posługiwać adresami IP scieci w obrębie tej całej maszynerii.

No dobra teraz główna odpowiedź na twoje pytanie:
Hibernate/JDBC potrzebują źródła danych, pewnego zbioru informacji, o tym gdzie znajduje się serwer bazy danych w tym właśnie ścieżki URL.
Jeżeli pracujesz w środowisku już produkcyjnym (tzn w uproszczeniu - wtedy kiedy masz napisaną apkę i chcesz żeby śmigała już dla potencjalnych ludzi/klientów) to będziesz zazwyczaj próbował zdobyć ten zbiór informacji/klase DataSource poprzez JNDI. JNDI to unikalny adres jakiegoś zasobu w aplikacjach javowych, który konfigurujesz właśnie w Tomcacie. Czyli tomcat przechowuje wtedy te informacje o bazie danych i z poziomu aplikacji możesz je wydobyć.

Hibernate może, także zdobyć DataSource wykorzystując JDBC do połączenia. Czyli on wywołuje po prostu pewne metody JDBC z poziomu kodu(robi wszystko sam nie jest to zrobione w tomcacie), które używałeś w poprzednim projekcie, żeby osiągnąć połączenie z serwerem tzn. DataSource

0
Mały Szczur napisał(a):

@scibi92

Ok, zadam krótkie pytania. Jaka jest różnica używania baz w aplikacjach desktopowych javy se oraz webowych javy ee ? Gdybyś mógł pokrótce opisać.

Jeśli chcę bazę dla strony internetowej to mam ją postawić u siebie na PC czy jest inne rozwiązanie ? Kiedy się stawia bazy u siebie na PC?

Żadne?
Twój serwer aplikacji łączy się z bazą danych gdziekolwiek ją masz (może i często bywa na tym samym komputerze). Tylko on się bezpośrednio komuminikuje z nią

1 użytkowników online, w tym zalogowanych: 0, gości: 1