Maven
A legfontosabb részlet magának a MySQL szervernek a JDBC Driver könyvtára. Egyszerűen nem jelenik meg a számítógépén, ezért hozzá kell adnia.
Ha Maven-t használ, akkor segítenie kell neki azzal, hogy rámutat a megfelelő könyvtárra.
MySQL JDBC illesztőprogram :
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
Csak adja hozzá ezt a kódot a pom.xml fájlhoz .
Adok még néhány népszerű illesztőprogramot.
JDBC illesztőprogram a PostgeSQL- hez :
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.4.0</version>
</dependency>
JDBC illesztőprogram az Oracle számára :
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.5.0.0</version>
</dependency>
JDBC illesztőprogram a H2- hez :
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.214</version>
</dependency>
Első adatbázis lekérdezés
Az összes szükséges könyvtárat tartalmazza, most itt az ideje, hogy lefuttassa az első adatbázis-elérési programot. Az összes kódot a main() metódussal írjuk .
1. szakasz . Adjon hozzá néhány importot a main() metódus előtt – ez sokkal könnyebbé teszi az életét:
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
2. szakasz . Először létre kell hoznunk egy adatbázis-kapcsolatot. Ehhez a main() metódusban írja be a következő kódot:
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test",
"login", "password");
Egy sorban is megteheti – amelyik kényelmesebb az Ön számára. A bejelentkezési nevet és a jelszót természetesen a helyi MySQL szerverről kell helyettesítenie az igazival.
3. szakasz . Létrehozunk egy lekérdezést az adatbázishoz. Nézzük az összes felhasználót a felhasználói táblából. Ezután hozzá kell adnia ezt a kódsort:
Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");
Ez két sor. Az elsőben létrehozunk egy objektumotNyilatkozat, a másodikban pedig az adatbázis lekérdezésére használjuk. Az executeQuery() metódus végrehajt egy adatbázis-lekérdezést, és egy típusú objektumot ad visszaeredménykészlet.
4. szakasz . Az objektumban található adatok megjelenítéseeredménykészlet.
eredménykészlet- ez nem készlet, csak így hívják. Tárolja a lekérdezés végrehajtásának eredményét. Ez az objektum némileg hasonlít egy iterátorhoz: lehetővé teszi az eredmény aktuális sorának beállítását/módosítását, majd ebből az aktuális sorból nyerhet adatokat. Adja hozzá a következő kódot a példájához:
while (results.next()) {
Integer id = results.getInt(1);
String name = results.getString(2);
System.out.println(results.getRow() + ". " + id + "\t"+ name);
}
A next() metódus az aktuális eredménysort a következőre módosítja. Igaz, ha van ilyen sor, hamis értéket ad vissza, ha nincs több sor.
Majd az objektum aktuális sorábóleredménykészletoszlopaiból kaphat adatokat:
- getRow() - az objektum aktuális sorának számát adja visszaeredménykészlet
- getInt(N) - az aktuális sor N-edik oszlopának adatait intként adja vissza
- getString(N) – az aktuális sor N. oszlopának adatait adja vissza Stringként
Teljes programlista
A hibák minimalizálása érdekében itt található a program teljes listája:
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();
}
}
És a képernyőkimenetem a program futtatása után:
"C:\Program Files\Java\jdk-17.0.3.1\bin\java.exe... | |||
tizenegy | Ivanov Iván | ||
2.2 | Petrov Nikolay | ||
3.3 | Sidorov Vitalij | ||
A folyamat a 0 kilépési kóddal fejeződött be |
GO TO FULL VERSION