Maven

Najważniejszym szczegółem jest biblioteka JDBC Driver dla samego serwera MySQL. Po prostu nie pojawi się na twoim komputerze, więc musisz go tam dodać.

Jeśli używasz Mavena, musisz mu pomóc, wskazując odpowiednią bibliotekę.

Sterownik MySQL JDBC :

   	<dependency>
        	<groupId>mysql</groupId>
        	<artifactId>mysql-connector-java</artifactId>
        	<version>8.0.29</version>
    	</dependency>

Po prostu dodaj ten kod do pliku pom.xml .

Podam też kilka bardziej popularnych sterowników.

Sterownik JDBC dla PostgeSQL :

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.4.0</version>
</dependency>

Sterownik JDBC dla Oracle :

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.5.0.0</version>
</dependency>

Sterownik JDBC dla H2 :

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.214</version>
</dependency>

Pierwsze zapytanie do bazy danych

Wszystkie wymagane biblioteki są dołączone, teraz nadszedł czas, aby uruchomić swój pierwszy program dostępu do bazy danych. Cały kod napiszemy w metodzie main() .

Etap 1 . Dodaj kilka importów przed metodą main() - to znacznie ułatwi ci życie:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;

Etap 2 . Najpierw musimy utworzyć połączenie z bazą danych. Aby to zrobić, w metodzie main() napisz następujący kod:

Connection connection  = DriverManager.getConnection(
           "jdbc:mysql://localhost:3306/test",
           "login", "password");

Możesz to również zrobić w jednej linii - w zależności od tego, co jest dla Ciebie wygodniejsze. Login i hasło oczywiście trzeba zastąpić prawdziwymi z lokalnego serwera MySQL.

Etap 3 . Tworzymy zapytanie do bazy danych. Pobierzmy wszystkich użytkowników z tabeli użytkowników. Następnie musisz dodać ten wiersz kodu:

Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");

To dwie linie. W pierwszym tworzymy obiektOświadczenie, aw drugim używamy go do wysyłania zapytań do bazy danych. Metoda executeQuery() wykonuje zapytanie do bazy danych i zwraca obiekt typuzestaw wyników.

Etap 4 . Wyświetl dane zawarte w obiekciezestaw wyników.

zestaw wyników- to nie jest zestaw, tak się po prostu nazywa. Przechowuje wynik wykonania zapytania. Obiekt ten jest nieco podobny do iteratora: pozwala ustawić/zmienić bieżący wiersz wyniku, a następnie uzyskać dane z tego bieżącego wiersza. Dodaj następujący kod do swojego przykładu:

while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
}

Metoda next() zmienia bieżący wiersz wyników na następny. Zwraca true, jeśli taka linia istnieje, i false, jeśli nie ma więcej linii.

Następnie z bieżącej linii obiektuzestaw wynikówmożesz uzyskać dane z jego kolumn:

  • getRow() - zwraca numer bieżącego wiersza w obiekciezestaw wyników
  • getInt(N) - zwróci dane z N-tej kolumny bieżącego wiersza jako int
  • getString(N) - zwróci dane z N-tej kolumny bieżącego wiersza jako String

Pełna lista programów

Aby zminimalizować błędy, oto pełna lista programu:

package org.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcApplicatin {
    public static void main(String[] args) throws  Exception{
 	   Connection connection  = DriverManager.getConnection(
          	"jdbc:mysql://localhost:3306/test",
          	"root", "secret");

        Statement statement = connection.createStatement();
    	ResultSet results = statement.executeQuery("SELECT * FROM user");

    	while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
    	}
    	connection.close();
    }
}

I mój ekran wyjściowy po uruchomieniu programu:

„C:\Program Files\Java\jdk-17.0.3.1\bin\java.exe...
jedenaście Iwanow Iwan
2.2 Pietrow Nikołaj
3.3 Sidorow Witalij
Proces zakończony kodem wyjścia 0