Dostęp do bazy danych w Javie - czego się nauczyć?

2017-01-21 12:09
1

Cześć,
Chciałbym zacząć robić programy łączące się z bazą danych, póki co znam sam MySQL więc pierwsze pytanie jest takie:

  • czy MySQL wystarczy na początek, czy zainteresować się już PostgreSQL lub innym językiem? (jeśli tak to jaki?)
    Drugie pytanie dotyczy frameworków właśnie do baz danych:
  • czy opłaca się uczyć JDBC? (wiem to nie framework) zrobiłem jeden program z bazą danych przy pomocy JDBC ale nie za fajnie mi się w tym kodowało więc czy JDBC jest potrzebny do efektywnego używania frameworków? Jeśli framework to Hibernate? Jakieś propozycje?

Z góry dziękuję za odpowiedzi.
Pozdrawiam ;)

Pozostało 580 znaków

2017-01-21 12:31
0

Jak nie potrzebujesz mieć kosmicznej wydajności i masz małą bazę tak, poniżej 10k rekordów to MySQL wystarczy. Jak w przyszłości chciałbyś pracować przy dużym projekcie komercyjnym to lepiej już celować w Oracle. Możesz sobie zainstalować, z tego co pamiętam to baza musi być poniżej 4GB, ale nie wiem jak jest teraz.
JDBC dobrze jest znać. Czasami jak masz rozbudowane zapytanie Hibernate zrobi je mało optymalnie. A samemu przy pomocy JDBC można lepiej wystrugać ;)
Nie mam na mysli tego, żebyś zrezygnował z Hibernate, bo to jest dobry framework, dużo ułatwia.


Panie Żurawiecki, projektowanie to nie jest sprzedawanie pietruszki. Do widzenia Panu.
edytowany 1x, ostatnio: trojanus, 2017-01-21 12:36
Tu chodziło Ci bardziej o Native Query SQL. Schodzenia do JDBC nie robi się z powodu źle zbudowanego SQL. - jarekr000000 2017-01-22 12:43
MySql to też Oracle... - barslo 2017-01-23 19:37

Pozostało 580 znaków

2017-01-21 14:28
0

Jestem takiego zdania, że lepiej już celować przyszłościowo więc pewnie oracle będę się uczył.
Jeśli chodzi o JDBC to z tego co widzę będę musiał zrobić drugie podejście... Więc pozostają jeszcze dwie kwestie, jedna o którą zapomniałem zapytać w pierwszym poście:

  • Relacyjne bazy danych czy nie? Czy może to i to? Jeśli też bez relacji to jakie?
  • Jaką obrać ścieżkę? Najpierw JDBC czy Hibernate? (Podstaw baz mam zamiar nauczyć się na początku reszta w trakcie robienia jakiegoś projektu, jak myślicie?)

Pozostało 580 znaków

2017-01-21 16:44
0

W sieci jest sporo materiałów dotyczących "SQL vs NoSQL". To nie jest kwestia, co jest lepsze, bo tutaj raczej wygranego nie ma. Dobrać trzeba w zależności od potrzeb.
JDBC ma bardzo proste API, więc nie będziesz miał problemów z opanowaniem. Pisałem ostatnio w tym mały projekt i korzystało się dość wygodnie i intuicyjnie. Hibernate nie znam, więc się nie wypowiadam. W sieci też poczytasz na temat "JDBC vs Hibernate".

Pozostało 580 znaków

2017-01-21 18:39
0

Chciałem zapytać doświadczonych ludzi, którzy znają te technologie i mieli z nimi styczność, dlatego też pytałem o konkretne nazwy baz i zależy mi na opiniach ludzi, którzy z nich korzystali. Niestety nie znam wszystkich technologii więc trudno "na ślepo" szukać odpowiedzi na moje pytania ;)

Pozostało 580 znaków

2017-01-22 13:00
2

Nie ma sensu bawić się w Oracle czy tym podobne badziewia (w twoim przypadku). Firmy typu ubezpieczenia czy banki (gdzie pracuje od kilkunastu lat) korzystają z Oracle na potęgę - ale też mają od tego adminów i specjalistów, którzy tym administrują oraz zgłaszają programistom które np. operacje są niewydajne. Ergo, jeśli już wdepniesz w Oracle to będziesz miał zwykle dostęp do specjalistów, narzędzi i twoja wiedza w "dużych" bazach danych nie będzie aż tak potrzebna. (Chyba, że nie chcesz być programistą tylko adminem baz danych).

Jeśli już chcesz się bawić SQL to MySQL w domowym zaciszu i dla wielu projektów starczy . W odróżnieniu od Oracle dodatkowo masz rozsądną dokumentację, prosty installer itp. (Z punktu widzenia instalacji i podstawowych narzędzi to Oracle do wersji 11 (potem się nie bawiłem) wyglądał, jakby te narzędzia robili studenci na 2 dni przed zaliczeniem - wstyd -bo w Javie).

Olej JDBC - możesz poczytać jak to działa, ale się nie baw - weź Hibernate albo JOOQ albo MyBatis. Te dwa ostatnie są prostsze. Jeśli znasz i chcesz się uczyć SQL - lepiej Ci posłużą.

A z NoSQL vs SQL polecam obejrzeć ten wykład (wstawiam go juz chyba z 10 raz tu :-) ):
http://www.ustream.tv/recorded/46673907


Bardzo lubie Singletony, dlatego robię po kilka instancji każdego.
edytowany 3x, ostatnio: jarekr000000, 2017-01-22 13:10

Pozostało 580 znaków

2017-01-22 16:26
0

@jarekr000000: Tak z ciekawości - dlaczego JDBC to zły pomysł?


Pozostało 580 znaków

2017-01-22 16:31
Biały Mleczarz
0

Według mnie Spring Data JPA byłoby najprostsze na początek.

btw.
https://github.com/bwajtr/jav[...]istence-frameworks-comparison
https://github.com/jirutka/spring-data-jdbc-repository

Pozostało 580 znaków

2017-01-22 16:35
0

Nie napisałem, że zły - nieoptymalny do nauki. Już sie raczej nieczęsto spotyka systemy, żeby ktoś zakładał PreparedStatement i po gołym ResultSet jechał.
Niskopoziomowe API - niech sobie żyje na niskim poziomie.


Bardzo lubie Singletony, dlatego robię po kilka instancji każdego.

Pozostało 580 znaków

2017-01-22 17:49
0

Dziękuję za odpowiedzi!
Powiem tak, nie wiem jakie są realia bycia programistą (jako pracownika) i nie wiem w jakim stopniu należy znać SQL'a widziałem, że dosyć często przewija się PostgreSQL, w sumie na chwilę obecną co zdążyłem przeglądnąć to nie ma wielkiej różnicy pod względem pisania zapytań. Więc jedyne pytanie mi teraz przychodzi do głowy czy będę potrzebował umieć tworzyć bazę czy jedynie zapytania do niej?

Pozostało 580 znaków

2017-01-22 18:10
0

Naucz się też zakładać - zawsze się przydaje bycie samowystarczalnym. Z MySQL to proste.


Bardzo lubie Singletony, dlatego robię po kilka instancji każdego.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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