Jak połączyć się z bazą danych MySQL za pomocą Javy

Jak połączyć się z bazą danych MySQL za pomocą Javy

Java zapewnia JDBC (Łączność z bazą danych Java) jako część Java SDK (Software Development Kit). Korzystanie z tego OGIEŃ , bardzo łatwo jest łączyć się z relacyjną bazą danych i wykonywać typowe operacje, takie jak zapytania, wstawianie, aktualizowanie i usuwanie rekordów.





Chociaż rdzeń JDBC API jest zawarty w javie, łączenie się z określoną bazą danych, taką jak MySQL lub SQL Server, wymaga dodatkowego komponentu znanego jako sterownik 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.





bez tekstu wysyłaj i odbieraj wiadomości tekstowe

W tym artykule przyjrzyjmy się szczegółom łączenia się z bazą danych MySQL i sposobom wykonywania za jej pomocą kilku 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) rozpakuj archiwum i skopiuj plik JAR mysql-connector-java--bin.jar do odpowiedniej lokalizacji. Ten plik jest wymagany do uruchamiania dowolnego kodu, który używa sterownika MySQL JDBC.



Tworzenie przykładowej bazy danych

Zakładając, że pobrałeś bazę danych MySQL i skonfiguruj to poprawnie tam, gdzie masz do niej dostęp, pozwól nam stworzyć przykładową bazę danych, abyśmy mogli ją wykorzystać 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.





create database sample;

Potrzebujemy również nazwy użytkownika i hasła, aby móc połączyć się z bazą danych (chyba że chcesz połączyć się jako administrator, co jest generalnie złym pomysłem).

Następujące tworzy użytkownika o nazwie użytkownik testujący kto połączy się z bazą danych MySQL z tej samej maszyny, na której jest uruchomiona (wskazana przez Lokalny Gospodarz ), używając hasła bezpiecznepwd .





create user 'testuser'@'localhost' identified by 'securepwd';

Jeśli łączysz się z bazą danych działającą na innym komputerze (o nazwie zdalnymc ), musisz użyć następującego ( zdalnymc może być nazwą hosta lub adresem IP):

create user 'testuser'@'remotemc' identified by 'securepwd';

Po utworzeniu nazwy użytkownika i hasła musimy przyznać dostęp do utworzonej wcześniej przykładowej bazy danych.

grant all on sample.* to 'testuser'@'localhost';

Lub, jeśli baza danych jest zdalna:

grant all on sample.* to 'testuser'@'remotemc';

Powinieneś teraz sprawdzić, czy możesz połącz się z bazą danych jako użytkownik, którego właśnie utworzyłeś z tym samym hasłem. Możesz także uruchomić następujące polecenia po połączeniu, aby upewnić się, że wszystkie uprawnienia są poprawne.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

Skonfiguruj ścieżkę klasy Java

Przejdźmy teraz do szczegółów, jak połączyć się z MySQL z poziomu Javy. Pierwszym krokiem jest załadowanie sterownika bazy danych. Odbywa się to poprzez wywołanie następujących elementów w odpowiednim miejscu.

jak przenieść foldery z jednego dysku Google na inny?
Class.forName('com.mysql.jdbc.Driver');

Kod może zgłosić wyjątek, więc możesz go złapać, jeśli zamierzasz sobie z nim poradzić (na przykład formatowanie komunikatu o błędzie dla GUI).

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

Bardzo często wywołuje się ten kod w bloku statycznym w klasie, więc program natychmiast kończy się niepowodzeniem, jeśli nie można załadować sterownika.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

Oczywiście, aby móc znaleźć sterownik, program należy wywołać ze sterownikiem JAR (pobranym i wyodrębnionym powyżej) zawartym w ścieżce klasy w następujący sposób.

java -cp mysql-konektor-java--bin.jar:...

Łączenie się z MySQL z Javy

Teraz, gdy wyjaśniliśmy szczegóły ładowania sterownika MySQL z javy, przejdźmy do połączenia z bazą danych. Jednym ze sposobów utworzenia połączenia z bazą danych jest użycie Menedżer kierowcy .

String jdbcUrl = ...;
Connection con = DriverManager.getConnection(jdbcUrl);

A co to jest jdbcURL ? Wskazuje szczegóły połączenia, w tym serwer, na którym znajduje się baza danych, nazwa użytkownika i tak dalej. Oto przykładowy adres URL naszego przykładu.

String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=secrepwd';

Zauważ, że zawarliśmy wszystkie parametry wymagane do połączenia, w tym nazwę hosta ( Lokalny Gospodarz ), Nazwa użytkownika i hasło. (Dołączanie takiego hasła NIE jest dobrą praktyką, zobacz poniżej alternatywy.)

Korzystanie z tego jdbcURL , oto kompletny program do sprawdzania łączności.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
con.close();
}
}

Zauważ, że połączenie z bazą danych jest cennym zasobem w programie i musi być 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 wzorca:

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

Jak wspomniano powyżej, osadzenie hasła w adresie URL JDBC jest złym pomysłem. Aby bezpośrednio określić nazwę użytkownika i hasło, możesz zamiast tego użyć następującej opcji połączenia.

gry do grania przez telefon
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Zapytanie do bazy danych z Javy

Teraz, gdy połączenie z bazą danych zostało nawiązane, zobaczmy, jak wykonać zapytanie, takie jak zapytanie o wersję bazy danych:

select version();

Zapytanie jest wykonywane w javie w następujący sposób. A Oświadczenie tworzony jest obiekt i wykonywane jest zapytanie za pomocą wykonaj zapytanie() metoda, która zwraca a Zestaw wyników .

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

Wydrukuj wersję z Zestaw wyników następująco. 1 odnosi się do indeksu kolumny w wynikach, zaczynając od 1.

while ( rset.next()) {
System.out.println('Version: ' + rset.getString(1));
}

Po przetworzeniu wyników obiekty należy zamknąć.

rset.close();
stmt.close();

A to obejmuje wszystko, co wiąże się z łączeniem się z MySQL z javy i wykonywaniem prostego zapytania.

Sprawdź również nasze Ściągawka z poleceniami SQL .

Udział Udział Ćwierkać E-mail Czy można zainstalować system Windows 11 na niezgodnym komputerze?

Możesz teraz zainstalować system Windows 11 na starszych komputerach z oficjalnym plikiem ISO ... ale czy to dobry pomysł?

Czytaj dalej
Powiązane tematy
  • Programowanie
  • Jawa
  • SQL
O autorze Jay Śridhar(17 opublikowanych artykułów) Więcej od Jaya Sridhar

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować