Premier programme JDBC

Disponible

Maven

Le détail le plus important est la bibliothèque de pilotes JDBC pour le serveur MySQL lui-même. Il n'apparaîtra tout simplement pas sur votre ordinateur, vous devez donc l'ajouter ici.

Si vous utilisez Maven, vous devez l'aider en indiquant la bonne bibliothèque.

Pilote MySQL JDBC :

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

Ajoutez simplement ce code à votre pom.xml .

Je vais également donner quelques pilotes plus populaires.

Pilote JDBC pour PostgeSQL :

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

Pilote JDBC pour Oracle :

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

Pilote JDBC pour H2 :

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

Première requête de base de données

Toutes les bibliothèques requises sont incluses, il est maintenant temps d'exécuter votre premier programme d'accès à la base de données. Nous allons écrire tout le code dans la méthode main() .

Étape 1 . Ajoutez quelques importations avant la méthode main() - cela vous facilitera la vie :

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

Étape 2 . Nous devons d'abord créer une connexion à la base de données. Pour cela, dans la méthode main() , écrivez le code suivant :

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

Vous pouvez également le faire en une seule ligne - selon ce qui vous convient le mieux. Identifiant et mot de passe, bien sûr, vous devez remplacer les vrais de votre serveur MySQL local.

Étape 3 . Nous créons une requête dans la base de données. Obtenons tous les utilisateurs de la table des utilisateurs. Ensuite, vous devrez ajouter cette ligne de code :

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

C'est deux lignes. Dans le premier, nous créons un objetDéclaration, et dans le second, nous l'utilisons pour interroger la base de données. La méthode executeQuery() exécute une requête de base de données et renvoie un objet de typeensemble de résultats.

Étape 4 . Afficher les données contenues dans l'objetensemble de résultats.

ensemble de résultats- ce n'est pas un ensemble, ça s'appelle juste comme ça. Il stocke le résultat de l'exécution de la requête. Cet objet est un peu similaire à un itérateur : il vous permet de définir/modifier la ligne courante du résultat, puis vous pouvez obtenir des données à partir de cette ligne courante. Ajoutez le code suivant à votre exemple :

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

La méthode next() remplace la ligne de résultat actuelle par la suivante. Elle renvoie true s'il existe une telle ligne et false s'il n'y a plus de lignes.

Puis à partir de la ligne courante de l'objetensemble de résultatsvous pouvez obtenir des données à partir de ses colonnes :

  • getRow() - renvoie le numéro de la ligne actuelle dans l'objetensemble de résultats
  • getInt(N) - renverra les données de la nième colonne de la ligne actuelle sous la forme d'un int
  • getString(N) - renverra les données de la nième colonne de la ligne actuelle sous forme de chaîne

Liste complète du programme

Pour minimiser les erreurs, voici une liste complète du programme :

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();
    }
}

Et ma sortie d'écran après avoir exécuté le programme :

"C:\Program Files\Java\jdk-17.0.3.1\bin\java.exe...
onze Ivanov Ivan
2.2 Petrov Nikolaï
3.3 Sidorov Vitali
Processus terminé avec le code de sortie 0
Commentaires
  • Populaires
  • Nouveau
  • Anciennes
Tu dois être connecté(e) pour laisser un commentaire
Cette page ne comporte pas encore de commentaires