Primul program JDBC

All lectures for RO purposes
Nivel , Lecţie
Disponibil

Maven

Cel mai important detaliu este biblioteca de drivere JDBC pentru serverul MySQL în sine. Pur și simplu nu va apărea pe computer, așa că trebuie să îl adăugați acolo.

Dacă utilizați Maven, atunci trebuie să îl ajutați indicând biblioteca potrivită.

Driver MySQL JDBC :

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

Doar adăugați acest cod pe pom.xml .

Voi oferi și câteva drivere mai populare.

Driver JDBC pentru PostgeSQL :

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

Driver JDBC pentru Oracle :

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

Driver JDBC pentru H2 :

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

Prima interogare la baza de date

Toate bibliotecile necesare sunt incluse, acum este timpul să rulați primul program de acces la baza de date. Vom scrie tot codul în metoda main() .

Etapa 1 . Adăugați câteva importuri înainte de metoda main() - acest lucru vă va ușura viața:

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

Etapa 2 . Mai întâi trebuie să creăm o conexiune la baza de date. Pentru a face acest lucru, în metoda main() , scrieți următorul cod:

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

De asemenea, o puteți face într-o singură linie - oricare este mai convenabil pentru dvs. Login și parola, desigur, trebuie să le înlocuiți pe cele reale de pe serverul local MySQL.

Etapa 3 . Creăm o interogare în baza de date. Să luăm toți utilizatorii din tabelul de utilizatori. Apoi va trebui să adăugați această linie de cod:

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

Sunt două rânduri. În primul, creăm un obiectAfirmație, iar în al doilea, îl folosim pentru a interoga baza de date. Metoda executeQuery() execută o interogare de bază de date și returnează un obiect de tipsetul de rezultate.

Etapa 4 . Afișează datele conținute în obiectsetul de rezultate.

setul de rezultate- nu este un set, se numește doar așa. Acesta stochează rezultatul execuției interogării. Acest obiect este oarecum similar cu un iterator: vă permite să setați/modificați rândul curent al rezultatului și apoi puteți obține date din acest rând curent. Adăugați următorul cod la exemplul dvs.:

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

Metoda next() schimbă rândul de rezultat curent cu următorul. Returnează adevărat dacă există o astfel de linie și fals dacă nu mai există linii.

Apoi din linia curentă a obiectuluisetul de rezultateputeți obține date din coloanele sale:

  • getRow() - returnează numărul rândului curent din obiectsetul de rezultate
  • getInt(N) - va returna datele coloanei a N-a a rândului curent ca un int
  • getString(N) - va returna datele coloanei a N-a a rândului curent ca șir

Lista completă a programului

Pentru a minimiza erorile, iată o listă completă a programului:

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 ieșirea pe ecran după rularea programului:

„C:\Program Files\Java\jdk-17.0.3.1\bin\java.exe...
unsprezece Ivanov Ivan
2.2 Petrov Nikolai
3.3 Sidorov Vitali
Procesul s-a încheiat cu codul de ieșire 0
Comentarii
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION