Az első JDBC program

All lectures for HU purposes
Szint , Lecke
Elérhető

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
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION