SQLite - Java: Guide pour Débutants

Salut là, futur super star du codage ! ? Bienvenue dans le merveilleux monde de SQLite et Java. Je suis ravi d'être votre guide sur ce voyage passionnant. En tant que quelqu'un qui enseigne l'informatique depuis des années, je peux vous assurer que d'ici la fin de ce tutoriel, vous serez étonné de ce que vous pouvez accomplir. Alors, plongeons dedans !

SQLite - Java

Installation

Avant de commencer à créer des merveilles de base de données, nous devons configurer nos outils. Pensez-y comme préparer votre cuisine avant de cuisiner un plat délicieux. ?

  1. Téléchargez le pilote JDBC SQLite depuis ici.
  2. Ajoutez le fichier JAR téléchargé au classpath de votre projet Java.

Voici un petit morceau de code pour vérifier si tout est correctement configuré :

import java.sql.*;

public class SQLiteTest {
public static void main(String[] args) {
try {
Class.forName("org.sqlite.JDBC");
System.out.println("Pilote JDBC SQLite chargé avec succès !");
} catch (ClassNotFoundException e) {
System.out.println("Erreur : Pilote JDBC SQLite non trouvé.");
e.printStackTrace();
}
}
}

Si vous voyez "Pilote JDBC SQLite chargé avec succès !" lorsque vous exécutez cela, vous êtes prêt !

Connexion à la Base de Données

Maintenant que nous avons nos ingrédients prêts, commençons à cuisiner ! ?️ Se connecter à une base de données est comme ouvrir le réfrigérateur - c'est la première étape pour créer quelque chose d'incroyable.

import java.sql.*;

public class SQLiteConnect {
public static void main(String[] args) {
Connection conn = null;
try {
String url = "jdbc:sqlite:test.db";
conn = DriverManager.getConnection(url);
System.out.println("Connexion à SQLite établie.");
} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}
}

Ce code crée une connexion à une base de données SQLite nommée "test.db". Si le fichier n'existe pas, SQLite le créera pour vous. N'est-ce pas génial ?

Création d'une Table

Maintenant que nous sommes connectés, créons une table. Pensez à une table comme une feuille de calcul dans votre base de données. Nous allons créer une simple table "students".

import java.sql.*;

public class CreateTable {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";

String sql = "CREATE TABLE IF NOT EXISTS students (" +
"id INTEGER PRIMARY KEY," +
"name TEXT NOT NULL," +
"grade INTEGER" +
");";

try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement()) {
stmt.execute(sql);
System.out.println("Table créée avec succès !");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Ce code crée une table nommée "students" avec trois colonnes : id, name et grade. La partie "IF NOT EXISTS" est comme un coup de sonnette poli - elle vérifie si la table existe déjà avant d'essayer de la créer.

Opération INSERT

Maintenant, ajoutons des données à notre table. C'est comme remplir le tableau que nous avons créé plus tôt.

import java.sql.*;

public class InsertData {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";
String sql = "INSERT INTO students(name,grade) VALUES(?,?)";

try (Connection conn = DriverManager.getConnection(url);
PreparedStatement pstmt = conn.prepareStatement(sql)) {

pstmt.setString(1, "Alice");
pstmt.setInt(2, 85);
pstmt.executeUpdate();

pstmt.setString(1, "Bob");
pstmt.setInt(2, 90);
pstmt.executeUpdate();

System.out.println("Données insérées avec succès !");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Ce code insère deux étudiants dans notre table. Les "?" dans l'instruction SQL sont des placeholders que nous remplissons avec setString() et setInt(). C'est comme remplir les blancs dans une phrase !

Opération SELECT

Maintenant que nous avons ajouté des données, récupérons-les. C'est comme lire dans notre feuille de calcul.

import java.sql.*;

public class SelectData {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";
String sql = "SELECT id, name, grade FROM students";

try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {

while (rs.next()) {
System.out.println(rs.getInt("id") + "\t" +
rs.getString("name") + "\t" +
rs.getInt("grade"));
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Ce code récupère toutes les données de notre table students et les imprime. La boucle while est comme passer chaque ligne de notre feuille de calcul.

Opération UPDATE

Parfois, nous devons changer des données qui sont déjà dans notre table. Mettons à jour la note d'Alice.

import java.sql.*;

public class UpdateData {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";
String sql = "UPDATE students SET grade = ? WHERE name = ?";

try (Connection conn = DriverManager.getConnection(url);
PreparedStatement pstmt = conn.prepareStatement(sql)) {

pstmt.setInt(1, 95);
pstmt.setString(2, "Alice");
pstmt.executeUpdate();
System.out.println("Données mises à jour avec succès !");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Ce code met à jour la note d'Alice à 95. C'est comme effacer une cellule dans notre feuille de calcul et écrire une nouvelle valeur.

Opération DELETE

Enfin, apprenons comment supprimer des données de notre table. Peut-être que Bob a décidé de transférer dans une autre école.

import java.sql.*;

public class DeleteData {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";
String sql = "DELETE FROM students WHERE name = ?";

try (Connection conn = DriverManager.getConnection(url);
PreparedStatement pstmt = conn.prepareStatement(sql)) {

pstmt.setString(1, "Bob");
pstmt.executeUpdate();
System.out.println("Données supprimées avec succès !");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Ce code supprime Bob de notre table students. C'est comme effacer une ligne entière de notre feuille de calcul.

Et voilà ! Vous avez juste appris les bases de la manipulation de SQLite en Java. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces exemples. Avant de savoir, vous serez à créer des applications de base de données complexes !

Voici un tableau de référence rapide des principales méthodes que nous avons utilisées :

Méthode Description
DriverManager.getConnection(url) Établit une connexion à la base de données
Connection.createStatement() Crée un objet Statement pour exécuter des instructions SQL
Connection.prepareStatement(sql) Crée un PreparedStatement pour exécuter des instructions SQL paramétrées
Statement.execute(sql) Exécute une instruction SQL qui ne retourne pas de jeu de résultats
Statement.executeQuery(sql) Exécute une requête SQL et retourne un ResultSet
PreparedStatement.setString(index, value) Définit un paramètre String dans un PreparedStatement
PreparedStatement.setInt(index, value) Définit un paramètre int dans un PreparedStatement
PreparedStatement.executeUpdate() Exécute une instruction INSERT, UPDATE ou DELETE
ResultSet.next() Passe à la ligne suivante dans un ResultSet
ResultSet.getInt(columnName) Obtient une valeur int de la ligne actuelle
ResultSet.getString(columnName) Obtient une valeur String de la ligne actuelle

Continuez à coder, continuez à apprendre, et surtout, amusez-vous ! ??

Credits: Image by storyset