Bazy danych w aplikacji Java

Myślę że śmiało można określić bazy danych w aplikacji Java jako jej serce. Mimo to mam wrażenie że na Bootcampach są one dosyć często nie doceniane. W tym artykule przedstawiam najważniejsze zastosowania relacyjnych baz danych w aplikacjach Java.

Zastosowania bazy danych w aplikacji Java

Gdyby się tak dobrze zastanowić dlaczego bazy danych są sercem aplikacji Java może przyjść nam na myśl klika prostych odpowiedzi:

  • to tutaj są przechowywane wszystkie informacje konieczne do pobierania, zapisywania i wykonywania innych operacji na obiektach aplikacji. 
  • to tutaj są przechowywane hasła i loginy użytkowników wraz z informacjami na temat ich ról.
  • to od rodzaju bazy danych jest zależna składnia procedur. Będzie ona wyglądać odrobinę inaczej dla Microsoft SQL, dla Oracl’a, czy PostgreSQL’a. W jaki sposób napisać procedurę w bazach danych Oracle znajdziesz w moim artykule: Procedury w PL/SQL. – Zapraszam 🙂 .
  • podobnie sytuacja wygląda z samymi zapytaniami. Tutaj również znajdziemy różnicę w składniki w zależności od tego z której bazy danych korzystamy.
  • to od tego jak dobrze jest skonstruowany model bazy danych zależy również wydajność aplikacji. Jeżeli jest on dobrze przemyślany łatwiej można napisać skomplikowane zapytania. Co pozytywnie może przenieść się na wydajność. W przeciwnym razie napisanie prostego zapytania może być problematyczne.
  • to tutaj aplikacja/system jest narażony na Jego hackowanie. Trzeba więc pamiętać o sql injection i napisać zapytanie w taki sposób aby zabezpieczyć dany kod.

Komunikacja z bazami danych

do komunikacji/konstruowania zapytań do bazy danych możemy wykorzystać:

  • Entity Manager’a
  • Hibernate jednak przy jego użyciu powstaje również problem n+1.
  • Hibernate dostarcza nam również optimistic locking innego wariantu dla pessimistic locking które są dostarczane przez bazy danych. Na temat pesimistic locking w bazach danych Oracle możesz przeczytać w jednym z moich artykułów: Read Only i Read Write.
  • takie narzędzia jak Flyway czy Liquibase również służą do migracji z bazą danych.

Podsumowanie

Podsumowując, bazy danych są jedną z najważniejszych części aplikacji. Bez nich trudne stało by się  przechowywanie danych. Jednak aby efektywnie z nich korzystać należy zapoznać się m.in z mechanizmem migracji czy też lockowań. A jakie są Twoje przemyślenia na ten temat? Zapraszam do podzielenia się w komentarzu 😉

Leave a Comment

Twój adres e-mail nie zostanie opublikowany.