Passer au contenu

Comment Lire une Base de Données SQLite avec Java

Java est un langage de programmation largement utilisé qui peut interagir avec des bases de données SQLite en utilisant JDBC (Java Database Connectivity). Voici un guide étape par étape pour lire une base de données SQLite en utilisant Java.

Étape 1 : Installer Java

Assurez-vous que Java est installé sur votre système. Vous pouvez vérifier cela en exécutant la commande suivante dans votre terminal :

Fenêtre de terminal
java -version

Si Java n’est pas installé, vous pouvez le télécharger et l’installer à partir de oracle.com ou utiliser une version OpenJDK disponible sur plusieurs plateformes.

Étape 2 : Télécharger le JDBC Driver pour SQLite

Pour que Java puisse se connecter à une base de données SQLite, vous devez télécharger le fichier JAR du driver JDBC pour SQLite.

  1. Téléchargez le driver SQLite JDBC depuis le site officiel : sqlite-jdbc.
  2. Placez le fichier JAR dans un répertoire accessible de votre projet Java.

Étape 3 : Configurer un projet Java

  1. Créer un nouveau projet Java :

    • Si vous utilisez un IDE comme IntelliJ IDEA ou Eclipse, créez un nouveau projet Java.
    • Si vous travaillez en ligne de commande, créez un répertoire pour votre projet, puis créez un fichier Main.java.
    Fenêtre de terminal
    mkdir MySQLiteProject
    cd MySQLiteProject
  2. Ajouter le driver JDBC au classpath :

    • Dans votre IDE, ajoutez le fichier sqlite-jdbc-<version>.jar téléchargé à votre projet comme bibliothèque.
    • En ligne de commande, assurez-vous que le fichier JAR est ajouté au classpath lors de la compilation et de l’exécution.

Étape 4 : Écrire le code Java pour lire la base de données SQLite

  1. Créer le fichier Main.java :

    Si vous utilisez la ligne de commande, créez un fichier Main.java :

    Fenêtre de terminal
    touch Main.java
  2. Écrire le code suivant pour se connecter et lire la base de données :

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    public class Main {
    public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {
    // Charger la classe JDBC
    Class.forName("org.sqlite.JDBC");
    // Se connecter à la base de données
    conn = DriverManager.getConnection("jdbc:sqlite:my-database.db");
    System.out.println("Connexion à la base de données SQLite établie.");
    // Créer un statement
    stmt = conn.createStatement();
    // Exécuter une requête SELECT
    String sql = "SELECT id, name, email FROM users";
    rs = stmt.executeQuery(sql);
    // Afficher les résultats
    while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    String email = rs.getString("email");
    System.out.println("ID: " + id + ", Name: " + name + ", Email: " + email);
    }
    } catch (SQLException | ClassNotFoundException e) {
    e.printStackTrace();
    } finally {
    // Fermer le ResultSet
    try {
    if (rs != null) rs.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    // Fermer le Statement
    try {
    if (stmt != null) stmt.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    // Fermer la connexion
    try {
    if (conn != null) conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    }

Explication du code :

  • Connexion à la base de données : conn = DriverManager.getConnection("jdbc:sqlite:my-database.db");

    • Cette ligne établit une connexion à la base de données SQLite my-database.db.
  • Création d’un statement : stmt = conn.createStatement();

    • Un Statement est utilisé pour exécuter des requêtes SQL.
  • Exécution d’une requête SELECT : rs = stmt.executeQuery("SELECT id, name, email FROM users");

    • Cette ligne exécute une requête SELECT et retourne les résultats dans un ResultSet.
  • Affichage des résultats : while (rs.next()) { ... }

    • Le ResultSet est parcouru pour récupérer et afficher les résultats.
  • Fermeture des ressources : rs.close(), stmt.close(), et conn.close()

    • Il est important de fermer les objets ResultSet, Statement, et Connection pour libérer les ressources.

Étape 5 : Compiler et exécuter le projet

Si vous utilisez un IDE :

  • Compiler et exécuter le projet directement depuis l’IDE.

Si vous utilisez la ligne de commande :

  1. Compilez le code :

    Fenêtre de terminal
    javac -cp .:sqlite-jdbc-<version>.jar Main.java
  2. Exécutez le code :

    Fenêtre de terminal
    java -cp .:sqlite-jdbc-<version>.jar Main

Note :

  • Sur Windows, remplacez : par ; pour le séparateur de classpath.

Si tout est configuré correctement, vous verrez les résultats de votre requête SELECT s’afficher dans la console.