Praca z bazami danych w Javie

Spisie treści
Jawa Jako język wielofunkcyjny, oprócz różnych funkcji, które możemy osiągnąć, pozwala nam również pracować z trwałością danych, w tym celu możemy nawiązać połączenie z różnymi silnikami Bazy danych które istnieją na rynku.
A Baza danych Może to być coś tak prostego, jak system klucz-wartość w zwykłym pliku tekstowym, a także bardziej złożone i nowoczesne rozwiązania, takie jak nierelacyjne, co sprawia, że ​​możliwość opracowania różnych schematów połączeń jest obowiązkową funkcją.
JDBC to zestaw klas, które pozwalają Jawa nawiązywać połączenia z silnikami bazodanowymi, dzięki temu możemy uzyskać wyniki zapytań w obiekcie o nazwie Zestaw wyników.
Ponieważ każdy silnik jest inny, prawdopodobnie Zestaw wyników to, co otrzymujemy, jest dla niego specyficzne, dlatego nie jest dla nas wygodne budowanie naszej aplikacji wokół tego obiektu.
Aby rozwiązać ten problem, możemy użyć tak zwanej a dostęp do obiektu, za pomocą którego możemy zarządzać różnymi formami naszego Zestaw wyników dzięki czemu Twoja aplikacja w naszym programie jest łatwiejsza do wdrożenia, a tym samym deweloper ma mniej problemów.
Wzorzec projektowy DAOten Obiekt dostępu do danych lub DAO Jest to wzorzec projektowy, który zbiera to, co wyjaśnialiśmy w poprzednim punkcie, wymaga to od nas stworzenia klasy dostępu do właściwości naszego Baza danych. Aby to zadziałało, musimy wykonać całą pracę JDBC i kontrolera, który pozwala nam połączyć się z konkretnym silnikiem, który chcemy, dodatkowo musimy przeprowadzić logiczną implementację, którą wyjaśniamy, aby uniknąć zależności od konkretnych komponentów, które tylko utrudniłyby nam migrację do innego silnika bazy danych.
Pierwszą rzeczą, którą musimy zrobić, aby zbudować połączenie JDBC jest zidentyfikowanie z jakim silnikiem chcemy nawiązać połączenie, a następnie pobranie niezbędnych klas dla tego połączenia, w tym przypadku zamierzamy nawiązać połączenie MySQL, ten silnik jest lekki, darmowy i wieloplatformowy, więc możemy go zainstalować zarówno w Windows, Linux lub Mac.
Złącze / J to zestaw zajęć oferowanych przez zespół programistów MySQL, z nimi możemy zrobić JDBC współpracuj z tym Bazy danych relacyjny, aby włączyć go do naszego projektu, musimy wykonać następujące kroki.
1- Musimy też pobrać plik odpowiadający naszej platformie Okna lub dla innych z oficjalnej strony internetowej MySQL W poniższym linku.

POWIĘKSZAĆ

2- W tym samouczku będziemy pracować pod Windowsem, więc dla jego implementacji w naszych przykładach zrobimy to w czasie wykonywania dla większej wygody, jednak gdy pobierzemy pakiet, zainstalujemy go, aby był dostępny na naszym komputerze.
3- Teraz przystąpimy do testowania, czy wszystko działa poprawnie na naszym komputerze, w tym celu zrobimy mały kod, w którym zobaczymy, czy złącze / J został pomyślnie załadowany do naszego systemu, w tym celu użyjemy następującego kodu:
 public class ConnectionTest {public static void main (String [] args) {spróbuj {Class c = Class.forName ("com.mysql.jdbc.Driver"); System.out.println ("Załadowana klasa:" + c.getName ()); } catch (ClassNotFoundException ex) {System.err.println (ex); }}} 

4- Aby uruchomić ten przykład musimy uwzględnić zależność, zalecane jest posiadanie .słoik w tej samej ścieżce naszego pliku TestConexion.java. Po omówieniu tego przejdziemy do skompilowania naszego pliku, otworzymy konsolę i z instrukcją javac i dodając .słoik do ścieżka klasy w czasie wykonywania poleceniem -cp Możemy to zrobić, zobaczmy wiersz poleceń:
 javac -cp mysql-connector-java-5.1.34-bin.jar Test połączenia.java 

5- Na koniec, aby wykonać nasz plik, wystarczy wykonać następującą instrukcję:
java -cp mysql-connector-java-5.1.34-bin.jar TestConnection

Jeśli mamy w konsoli wynik podobny do poniższego, możemy rozpocząć pracę z operacjami, aby Bazy danych:

POWIĘKSZAĆ

Następnym krokiem, który musimy podjąć, jest ustanowienie skutecznego połączenia z naszym Baza danych, w tym celu musimy stworzyć taką z co najmniej jedną tabelą na naszym lokalnym serwerze, w ten sposób możemy wykonać kilka testów, aby ułatwić sobie tworzenie Bazy Danych o nazwie test i używamy następującego skryptu, aby utworzyć tabelę i wstawić kilka rekordów testowych, aby przyspieszyć rozwój samouczka:

UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE `użytkownicy` (
`id` bigint (20) NOT NULL AUTO_INCREMENT,
`name` varchar (255) NOT NULL,
`data` data NIE NULL,
`stan` int (11) NIE NULL,
KLUCZ GŁÓWNY ('id')
) SILNIK = DOMYŚLNY ZESTAW ZNAKÓW InnoDB = latin1 AUTO_INCREMENT = 3;
INSERT IN TO `users` (`id`, `name`,` date`, `status`) WARTOŚCI
(1, 'Użytkownik 1', '2015-01-01', 1),
(2, „Użytkownik 2”, „01.01.2015”, 1);

Teraz w następującym kodzie Jawa skupimy się na nawiązaniu połączenia z Baza danych, do tego z spróbuj złapać blok Sprawdzimy, że jest skuteczne i bez błędów, następnie jeśli połączenie zostało nawiązane, wypiszemy komunikat o powodzeniu, zobaczmy:
 import java.sql.Połączenie; import java.sql.DriverManager; public class ConnectionTest {private static final String path = "jdbc: mysql: // localhost"; private static final String user = "nasz użytkownik"; private static final String password = "nasze hasło"; public static void main (String [] args) {spróbuj {Connection con = DriverManager.getConnection (ścieżka, użytkownik, hasło); System.out.println ("Połączenie powiodło się"); } catch (wyjątek e) {e.printStackTrace (); }}} 

Z tego kodu widać, że musimy zaimportować dwie biblioteki z pakietu java.sql, Jeden jest Połączenie który jest odpowiedzialny za zarządzanie wszystkimi działaniami, aby móc komunikować się z bazą danych, a drugi to Menadżer urządzeń który odpowiada za zapewnienie sposobu, w jaki będziemy się z nim komunikować. Jeśli poprawnie wykonaliśmy kroki, po uruchomieniu naszego przykładu w konsoli powinien pojawić się następujący komunikat:

POWIĘKSZAĆ

Mamy wszystko gotowe do rozpoczęcia testowania naszych zapytań, do tego będziemy potrzebować kilku rzeczy, pierwszą, którą już mamy, jest obiekt, który nawiązuje połączenie z Baza danych, wtedy będziemy musieli zaimportować pakiety Oświadczenie Tak Zestaw wyników za pomocą którego możemy najpierw wysłać zapytania, a następnie uzyskać odpowiedź na to samo, w końcu przechodzimy przez obiekt Zestaw wyników gdzie pokażemy dane wstawione do tabeli i przed zamknięciem programu musimy zamknąć każdy z utworzonych przez nas obiektów, w ten sposób zagwarantujemy integralność naszych danych. Zobaczmy kod, który pokazuje, co zostało wyjaśnione:
 import java.sql.Połączenie; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Oświadczenie; public class ConnectionTest {private static final String path = "jdbc: mysql: // localhost / test"; private static final String user = "nasz użytkownik"; private static final String password = "nasze hasło"; public static void main (String [] args) {spróbuj {Connection con = DriverManager.getConnection (ścieżka, użytkownik, hasło); Zapytanie o instrukcję = con.createStatement (); System.out.println ("Połączenie powiodło się"); Wynik zestawu wyników = query.executeQuery ("SELECT * FROM users"); while (result.next()) {String name = result.getString ("nazwa"); Data ciągu = wynik.getString („data”); System.out.println („Nazwa:” + nazwa + „Data nagrania:” + data); } wynik.zamknij (); zapytanie.zamknij (); con.zamknij (); } catch (wyjątek e) {e.printStackTrace (); }}} 

Warto wspomnieć, że w naszym atrybucie trasa Zmodyfikowaliśmy go i nazwę Baza danych połączenie test gdzie musimy mieć utworzoną tabelę naszych użytkowników, skompilować nasz plik i wykonać, wynik na konsoli będzie taki, jak na poniższym obrazku:

POWIĘKSZAĆ

Po obejrzeniu przykładu połączenia i zapytań do Bazy, widzimy, że musimy użyć figury o nazwie Przygotuj oświadczenie co ułatwia nam pracę zostawiając zapytania tak przygotowane, że możemy je wykonywać wielokrotnie bez konieczności ciągłego ich budowania, aby osiągnąć tę dynamikę podmieniamy wartości, które musimy zmienić na zmienne, a następnie, gdy wykonujemy Zapytanie przekazujemy do niego rzeczywiste wartości.
KorzyśćMa to kilka zalet, jak już powiedzieliśmy, pierwszą jest możliwość użycia czegoś bez powtarzania tego, ale jest to również dla bezpieczeństwa, ponieważ pozwala nam to traktować wartości, które mogą pochodzić z danych wejściowych użytkownika, aby uniknąć ataku na nasze Bazę danych oprócz tego możemy również ułatwić czytelność naszego programu.
W poniższym przykładzie stworzymy zapytanie z Przygotowane oświadczenie, dzięki czemu może być użyty kilka razy podczas naszego programu. Zobaczmy wynikowy kod:
 import java.sql.Połączenie; import java.sql.DriverManager; import java.sql.ResultSet; importuj java.sql.PreparedStatement; public class PreparedStatementTest {private static final String path = "jdbc: mysql: // localhost / test"; private static final String user = "nasz użytkownik"; private static final String password = "nasze hasło"; public static void main (String [] args) {spróbuj {Connection con = DriverManager.getConnection (ścieżka, użytkownik, hasło); Zapytanie PreparedStatement = con.prepareStatement ("SELECT * FROM users Gdzie id =?;"); System.out.println ("Połączenie powiodło się"); zapytanie.setInt (1, 1); Wynik zestawu wyników = query.executeQuery (); while (result.next()) {String name = result.getString ("nazwa"); Data ciągu = wynik.getString („data”); System.out.println („Nazwa:” + nazwa + „Data nagrania:” + data); } wynik.zamknij (); zapytanie.zamknij (); con.zamknij (); } catch (wyjątek e) {e.printStackTrace (); }}} 

Zauważamy, że stosując metodę setInt Za pomocą obiektu zapytania możemy przekazać niezbędny parametr dla zapytania, dzięki temu możemy odłączyć go od wykonania zapytania, zyskując tym samym przenośność i łatwość czytania. Na koniec kompilujemy i uruchamiamy nasz program:

POWIĘKSZAĆ

Na tym kończymy ten samouczek, ponieważ widzimy opcje do pracy Bazy danych w Jawa Są one bardzo interesujące, ponieważ pozwalają nam na elastyczność i wszechstronność naszych aplikacji, najważniejsze jest to, że jeśli mamy doświadczenie z innymi językami, to z pewnością będą one tutaj używane.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave