•  

    Jak się poprawnie łaczyć z bazą danych w #java, jeśli przykładowo łacze sie przez jdbc, mam connection i statement to jak poprawnie zadawac zapytania do bazy z poziomu widoku? W sensie jak np. kliknę przycisk żeby mi zmienił status (taki status aktywnosci jak na skype) to musze wykonać zapytanie na bazie (update). Ale przecież nie moge w każdym widoku/klasie widoku od nowa tworzyć nowego obiektu klasy jdbc. Można by też było zrobic metody statyczne ktore by tam odczytywały i zapisywały ale nie wiem czy to jest poprawnie? Moze ktos mi powiedziec, zebym nie uczyl sie zlych praktyk ( ͡° ʖ̯ ͡°) #jdbc #java #naukaprogramowania

    +: tptak
    •  

      @MrFisherman: jaka aplikację próbujesz robić, żeby miała status i bazę danych za backend?

    •  

      @MrFisherman: springa użyj ( ͡° ͜ʖ ͡°)

    •  

      @MrFisherman: po pierwsze nie ma sensu pisać JDBC od zera. Zakładam że to jest jakaś aplikacja serwerowa i działasz w jakimś kontenerze - powinieneś móc skorzystać z jakiegoś frameworka.
      Po drugie - przykład z ze zmianą statusu czy aktywności - to nie są informacje, które powinny być utrwalone w bazie. Zauważ, że to czy ktoś jest aktywny to kwestia tego czy ma otwartą jakąś sesję. Stąd tego typu informacje powinny być zebrane w jakimś serwisie, który odpowiada za trzymanie i zarządzanie sesjami i udostępniane do widoku jak ktoś jest zainteresowany.

      Myślę, że powinieneś sobie porządnie zdefiniować model danych w Twojej aplikacji i zdecydować się co tak naprawdę powinno być utrwalane, a co trzymane w pamięci.

    •  

      @tptak: taką robię desktopową a potem na androida, w ramach nauki, chcialem tez dodac baze no bo jest potrzebna, status aktywnosci by sie przydał żeby inni widzieli kto jest teraz aktywny
      @Duze_piwo: jeszcze jestem za głupi na springa :)
      @beethoven: poki co robie to bez serweletów itp. ucze sie i chcialem zrobic apke korzystajacą z bazy, polaczylem ja przez jdbc, jak chce żeby innni widziwli kto jest aktywny to chyba musze trzymac status w bazie? (Poki co, bez serwisow itp)

    •  

      Moze ktos mi powiedziec, zebym nie uczyl sie zlych praktyk ( ͡° ʖ̯ ͡°)

      @MrFisherman: NIE UCZ SIĘ ZŁYCH PRAKTYK.

      Backend powinien łączyć się z bazą i robić logikę biznesową. Frontend powinien komunikować się z backendem, aby złośliwy klient nie poczynił zniszczeń.

    •  

      @MrFisherman: to jest bardzo zły przykład zastosowania bazy. To czy ktoś jest aktywny to nie jest stała informacja do trwałego zapisania. Może co najwyżej dla jakiegoś monitoringu, audytu, danych historycznych.

      Jeżeli chcesz zrobić klientów androidowych i jakiegoś desktopa to zrób porządna aplikację serwerową.

      Nie ucz się złych praktyk

    •  

      @beethoven: ale nie wydaje mi się żebym był na tyle zaawansowany ( ͡° ʖ̯ ͡°) nawet nie wiem od czego miałbym zacząć, rozumiem ze apka i apka desktopowa miałyby tylko robić za widok a cała logika zawarta byłaby na serwerze?
      Czyli jesli ktoś chciałby np. dodać przedmiot do bazy to apka łaczylaby sie z serwerem, ten by odbieral polaczenie, pobieral te dane, wsadzał je do bazy i konczył połączenie? Do Javy potrzebny jest też chyba TomCat czy coś podobnego? Dzięki w ogóle za odpowiedz :)

    •  

      @MrFisherman:

      ale nie wydaje mi się żebym był na tyle zaawansowany ( ͡° ʖ̯ ͡°) nawet nie wiem od czego miałbym zacząć, rozumiem ze apka i apka desktopowa miałyby tylko robić za widok a cała logika zawarta byłaby na serwerze?
      tak. możesz na początek zrobić komunikację za pomocą requestów HTTP. Aplikacja serwerowa musiałaby wtedy wystawić endpointy.

      Pobaw się spring bootem - ma wbudowany serwer http, więc nie będziesz musiał się męczyć z konfiguracją:
      https://spring.io/guides/gs/spring-boot/
      https://spring.io/guides/gs/actuator-service/
      dodaj do tego bazę https://spring.io/guides/gs/accessing-data-mysql/

      Oczywiście polecam zaznajomić się ze springiem.

Gorące dyskusje ostatnie 12h