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
@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
  • 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
  • Odpowiedz
#programowanie #java #spring #xml #jsp #storedprocedure #jdbc

Cześć Mirki, potrzebuję metody na wysłanie do stored procedure XML z danymi. Na początku z JSP z tabeli dane są wysyłane za pomocą AJAX do Repository w formacie JSON i muszę sparsować do XML według danej struktury i wysłać do stored procedure. Procedura przetworzy wszystkie dane i wstawi jest już do
  • Odpowiedz
#programowanie #java #jdbc #spring #sql

Cześć Mirki, mam stworzoną Procedurę gdzie mam 6 zmiennych. 3 zmienne są generowane na podstanie dodania nowego rekordu lub edycji bo jest to czas edycji, user który to edytował i nazwa komputera. Na te 3 zmienne ma gotowe funkcje co generują te informacje. Ale kolejne 3 zmienne w procedurze są w formacie XML. Do wyświetlania danych używam
  • Odpowiedz
#programowanie #bazydanych #hibernate #mybatis #jdbc

Macie aplikację Javową (np. w Springu) i chcecie napisać do niej DAO do relacyjnej bazy danych (np. Oracle lub PostgreSQL). Zależy wam na wydajności i kontrolowaniu tabel/zapytań (w sensie, żeby samemu decydować kiedy ma się zrobić tabela, a nie automatycznie pod każdą klasę; żeby samemu decydować kiedy ma być join itd., bo jest to kosztowne).

Czego używacie?
- Spring Date,

Do wydajnego DAO używam:

  • Spring Data 39.4% (13)
  • Hibarnate (tylko Java) 21.2% (7)
  • Hibernate z HQL 6.1% (2)
  • JPA bez Hibernate 3.0% (1)
  • MyBatis 6.1% (2)
  • SQL + JDBC 21.2% (7)
  • Inne 3.0% (1)

Oddanych głosów: 33

Podpowie ktoś coś co tutaj niedobrego może się dziać?
Lecę z Java Techniki Zaawansowane i przyszedł czas na JDBC. SQL ogarniam, ale teraz tylko połączyć to z javą problem.
Według opisu ze stron 237-238 (podrozdział 4.3.3) startuję serwer robię plik ij.properties i próbuję się połączyć, ale serwer odrzuca połączenie:

BŁĄD 08001: java.net.ConnectException: Błąd podczas łączenia z serwerem localhost na porcie 1 527 z komunikatem Połączenie odrzucone.

wersja ij 10.12
#java #jdbc #sql #naukaprogramowania #bazydanych #sql
Mirasy, mam sobie szkielet takiego programu (screen poniżej) no i wypisałem sobie wszystkie pola z bazy danych do tabeli w JavaFx. Tylko bardzo zależało mi na rozdzieleniu roli gui i bazy danych. Dlatego mam jedną klasę która pobiera mi te sale i zapisuje mi je wszystkie do listy, a potem w gui pobieram to
Patres - #java #jdbc #sql #naukaprogramowania #bazydanych #SQL 
Mirasy, mam sobie sz...

źródło: comment_GfjhVvgxvRNwCyfCtvqixmtpFXpe7b2L.jpg

Pobierz
@Patres: Z tego co napisałeś to ogólnie wygląda ok.
Powinieneś mieć klasy:
Room - model danych
RoomDao - interfejs do komunikacji z bazą danych
RoomDaoImpl - implementacja interfejsu
SchoolController - wstrzyknięta tabela przez @FXML i wstrzyknięty lub po prostu utworzony obiekt DAO. W kontrolerze (jeśli korzystasz z interfejsu Initializable) to w metodzie initialize() pobierasz dane z bazy przez obiekt DAO zwracając np. w formie listy i wrzucasz je do tabeli przez setItems(). W kontrolerze powinieneś mieć więc tylko kilka
  • Odpowiedz
To co możesz zrobić ciekawego u siebie, to wykorzystać to, że w Javie8 i JavieFX masz do dyspozycji ObservableList, więc możesz podpiąć słuchacza, który po dodaniu rekordu do tabeli będzie automatycznie zapisywał go w bazie.


@Eoghan: Dokładnie tak robię. Dzięki wielkie!
  • Odpowiedz
#java #programowanie #jdbc
Kumpel w pracy mówi, że używajac #c3p0 nie trzeba zamykać połączeń. Patrze w kod a on pobiera za kazdym razem połączenie, robi commit i nie robi close po każdym użyciu datasource...dopiero przy wyłączeniu aplikacji robi connection.close(). Pool ustawiony na max : 1 min : 1... Tak mnie zamotał że nie wiem gdzie lewa a gdzie prawa. To jest (chyba) złe podejście
To parowanie to on uważa że klient powinien zawsze dostawać te samo połączenie z puli bo to zapewni spójność danych.


@CortesHernan: ( ͡º ͜ʖ͡º) Czy to jakies zajęcia w gimnazjum czy co?
  • Odpowiedz
@NiebieskaSowa: Mma dopiero 2 lata "doswiadczenia" ale praktycznie od zera. W firmie nie stricte informatycznej. Koles ma dużą wiedze i tym mnie zaskoczył. Generalnie wiem, że zawsze powinno się zamykać zasoby zwiazane z jdbc.
  • Odpowiedz
Trafiłem na projekt gdzie leader proponuje Spring-Data + Oracle.

Tak jak Spring-Data bardzo ładnie zgrało mu się z MongoDB tak widzę, że Oracle plus Spring-Data to raczej coś w rodzaju samego JPA. I teraz tak się zastanawiam. Czy jest sens robić to Spring-Data z JPA czy może spróbować rozszerzenia dla JDBC? A może próbować przeforsować Spring-Data + Hibernate? I dlaczego właściwie Spring-Data a nie samo Spring?

#programowanie #spring
Dokumentacja na stronie głównej tłumaczy co takiego oferuje Spring-Data:

Implementing a data access layer of an application has been cumbersome for quite a while. Too much boilerplate code has to be written to execute simple queries as well as perform pagination, and auditing. Spring Data JPA aims to significantly improve the implementation of data access layers by reducing the effort to the amount that's actually needed. As a developer you write your repository interfaces, including custom finder methods, and Spring will provide the implementation automatically.

Features

Sophisticated
  • Odpowiedz
@echelon_: Inaczej mówąc SD oferuje automatyczne tworzenie implementacji dla interfejsów DAO (trochę podobne do ActiveRecord w Railsach), jest też zintegrowane z QueryDSL (statycznie sprawdzane typy w zapytaniach, takie lepsze kryteria).
  • Odpowiedz