Reklama
Java zapewnia JDBC (Java DataBase Connectivity) jako część Java SDK (Software Development Kit). Za pomocą tego API, bardzo łatwo jest połączyć się z relacyjna baza danych Czym w ogóle jest baza danych? [MakeUseOf wyjaśnia]Dla programisty lub entuzjasty technologii koncepcja bazy danych jest czymś, co naprawdę można uznać za coś oczywistego. Jednak dla wielu osób sama koncepcja bazy danych jest nieco obca ... Czytaj więcej i wykonuj typowe operacje, takie jak zapytania, wstawianie, aktualizowanie i usuwanie rekordów.
Chociaż podstawowy interfejs API JDBC jest zawarty w Javie, łączenie się z konkretną bazą danych, taką jak MySQL lub SQL Server, wymaga dodatkowego komponentu zwanego sterownikiem bazy danych. Ten sterownik bazy danych jest komponentem oprogramowania, który tłumaczy podstawowe wywołania JDBC na format zrozumiały dla tej bazy danych.
W tym artykule przyjrzyjmy się szczegółom łączenia się z bazą danych MySQL i jak wykonać z nią kilka zapytań.
Sterownik bazy danych MySQL
Jak wyjaśniono powyżej, aby móc połączyć się z bazą danych MySQL, potrzebujesz sterownika JDBC dla MySQL. Nazywa się to sterownikiem Connector / J i można go pobrać z
strona MySQL tutaj.Po pobraniu pliku ZIP (lub TAR.GZ) wyodrębnij archiwum i skopiuj plik JAR mysql-connector-java – bin.jar w odpowiednie miejsce. Ten plik jest wymagany do uruchomienia dowolnego kodu korzystającego ze sterownika JDBC MySQL.
Tworzenie przykładowej bazy danych
Zakładając, że pobrałeś bazę danych MySQL i skonfiguruj to poprawnie Jak zainstalować bazę danych MySQL w systemie WindowsJeśli często piszesz aplikacje łączące się z serwerami baz danych, dobrze jest wiedzieć, jak zainstalować bazę danych MySQL na komputerze z systemem Windows do celów testowych. Czytaj więcej tam, gdzie masz do niego dostęp, pozwól nam utworzyć przykładową bazę danych, abyśmy mogli używać jej do łączenia i wykonywania zapytań.
Połącz się z bazą danych za pomocą wybranego klienta i uruchom następujące instrukcje, aby utworzyć przykładową bazę danych.
utwórz próbkę bazy danych;
Potrzebujemy także nazwy użytkownika i hasła, aby móc połączyć się z bazą danych (chyba że chcesz się połączyć jako administrator, co jest ogólnie złym pomysłem).
Następujące tworzy użytkownika o nazwie testuser kto połączy się z bazą danych MySQL z tego samego komputera, na którym jest uruchomiony (wskazany przez Lokalny Gospodarz), używając hasła securepwd.
utwórz użytkownika „testuser” @ „localhost” zidentyfikowany przez „securepwd”;
Jeśli łączysz się z bazą danych uruchomioną na innym komputerze (o nazwie remotemc), musisz użyć następujących elementów (remotemc może to być nazwa hosta lub adres IP):
utwórz użytkownika „testuser” @ „remotemc” identyfikowany przez „securepwd”;
Teraz, gdy nazwa użytkownika i hasło zostały utworzone, musimy udzielić dostępu do utworzonej wcześniej przykładowej bazy danych.
przydziel wszystko na próbce. * do 'testuser' @ 'localhost';
Lub, jeśli baza danych jest zdalna:
przydziel wszystko na próbce. * do 'testuser' @ 'remotemc';
Powinieneś teraz sprawdzić, czy możesz połączyć się z bazą danych Jak zainstalować bazę danych MySQL w systemie WindowsJeśli często piszesz aplikacje łączące się z serwerami baz danych, dobrze jest wiedzieć, jak zainstalować bazę danych MySQL na komputerze z systemem Windows do celów testowych. Czytaj więcej jako użytkownik, którego właśnie utworzyłeś przy użyciu tego samego hasła. Możesz także uruchomić następujące polecenia po połączeniu, aby upewnić się, że wszystkie uprawnienia są prawidłowe.
utwórz tabelę Joe (id int klucz podstawowy auto_increment, name varchar (25)); upuść Joe Joe;
Skonfiguruj ścieżkę klasy Java
Przejdźmy teraz do szczegółów, jak połączyć się z MySQL Jawa 10 podstawowych pojęć Java, których powinieneś nauczyć się na początkuNiezależnie od tego, czy piszesz GUI, rozwijasz oprogramowanie po stronie serwera, czy aplikację mobilną na Androida, nauka języka Java będzie Ci dobrze służyć. Oto kilka podstawowych koncepcji Java, które pomogą Ci zacząć. Czytaj więcej . Pierwszym krokiem jest załadowanie sterownika bazy danych. Odbywa się to przez wywołanie następujących w odpowiednim miejscu.
Class.forName ("com.mysql.jdbc. Kierowca");
Kod może zgłosić wyjątek, więc możesz go złapać, jeśli zamierzasz sobie z nim poradzić (na przykład sformatować komunikat o błędzie w interfejsie GUI).
spróbuj {Class.forName ("com.mysql.jdbc. Kierowca"); } catch (ClassNotFoundException ex) {// użyj wyjątku tutaj. }
Bardzo często wywoływany jest ten kod w bloku statycznym w klasie, więc program natychmiast kończy się niepowodzeniem, jeśli nie można załadować sterownika.
próbka klasy publicznej. {static {try {Class.forName ("com.mysql.jdbc. Kierowca"); } catch (ClassNotFoundException ex) {System.err.println („Nie można załadować sterownika MySQL”); } } }
Oczywiście, aby móc znaleźć sterownik, należy wywołać program ze sterownikiem JAR (pobranym i wyodrębnionym powyżej) zawartym w ścieżce klasy w następujący sposób.
java -cp mysql-connector-java--bin.jar:...
Łączenie z MySQL z Java
Teraz, gdy wyjaśniliśmy szczegóły ładowania sterownika MySQL z java, połączmy się z bazą danych. Jednym ze sposobów utworzenia połączenia z bazą danych jest użycie DriverManager.
String jdbcUrl =...; Con con Connection = DriverManager.getConnection (jdbcUrl);
A co to jest jdbcUrl? Wskazuje szczegóły połączenia, w tym serwer, na którym znajduje się baza danych, nazwę użytkownika i tak dalej. Oto przykładowy adres URL dla naszego przykładu.
String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser & password = secrepwd ";
Zwróć uwagę, że zawarliśmy wszystkie parametry wymagane do połączenia, w tym nazwę hosta (Lokalny Gospodarz), Nazwa użytkownika i hasło. (Podanie takiego hasła NIE jest dobrą praktyką, zobacz poniżej alternatywy).
Za pomocą tego jdbcUrl, tutaj jest kompletny program do sprawdzania łączności.
próbka klasy publicznej. {static {try {Class.forName ("com.mysql.jdbc. Kierowca"); } catch (ClassNotFoundException ex) {System.err.println („Nie można załadować sterownika MySQL”); }} static public void main (String [] args) zgłasza wyjątek {String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser & password = securepwd "; Con con Connection = DriverManager.getConnection (jdbcUrl); System.out.println („Połączony!”); con.close (); } }
Pamiętaj, że połączenie z bazą danych jest cennym zasobem w programie i musi zostać poprawnie zamknięte, jak powyżej. Powyższy kod nie zamyka jednak połączenia w przypadku wyjątku. Aby zamknąć połączenie przy normalnym lub nienormalnym wyjściu, użyj następującego wzoru:
try (Connection con = DriverManager.getConnection (jdbcUrl)) {System.out.println („Połączony!”); }
Jak wspomniano powyżej, źle osadzić hasło w adresie URL JDBC. Aby bezpośrednio podać nazwę użytkownika i hasło, możesz zamiast tego użyć następującej opcji połączenia.
String jdbcUrl = "jdbc: mysql: // localhost / sample"; try (Connection con = DriverManager.getConnection (jdbcUrl, „testuser”, „securepwd”)) { }
Zapytanie do bazy danych z Java
Po nawiązaniu połączenia z bazą danych zobaczmy, jak wykonać zapytanie, na przykład zapytanie o wersję bazy danych:
wybierz wersję ();
Zapytanie jest wykonywane w Javie w następujący sposób. ZA Komunikat obiekt jest tworzony i zapytanie jest wykonywane przy użyciu executeQuery () metoda, która zwraca a ResultSet.
String queryString = "select version ()"; Instrukcja stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString);
Wydrukuj wersję z ResultSet następująco. 1 odnosi się do indeksu kolumny w wynikach, zaczynając od 1.
while (rset.next ()) {System.out.println („Wersja:” + rset.getString (1)); }
Po przetworzeniu wyników obiekty muszą zostać zamknięte.
rset.close (); stmt.close ();
I to wszystko obejmuje łączenie się z MySQL z Java i wykonywanie prostych zapytań.
Czy używałeś JDBC z MySQL w swoich projektach? Jakie masz problemy z bazami danych i Javą? Daj nam znać w komentarzach poniżej.