English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite Java

Dans ce chapitre, vous apprendrez à utiliser SQLite dans un programme Java.

Installer

Avant de commencer à utiliser SQLite dans notre programme Java, vous devez vous assurer que le pilote JDBC SQLite et Java sont installés sur votre ordinateur. Vous pouvez consulter des tutoriels Java pour installer Java sur votre ordinateur. Maintenant, voyons comment configurer le pilote JDBC SQLite.

  • desqlite-jdbctélécharger la dernière version disponiblesqlite-jdbc-(VERSION).jar

  • stocker le fichier jar téléchargésqlite-jdbc-(VERSION).jarajouter à votre classpath, ou avec-options classpath ensemble, comme dans l'exemple suivant.

Connexion à la base de données

Le programme Java suivant montre comment se connecter à une base de données existante. Si la base de données n'existe pas, elle sera créée et finalement, un objet base de données sera retourné.

import java.sql.*;
public class SQLiteJDBC {
  public static void main(String args[]) {
      Connection c = null;
      
      try {
         Class.forName("org.sqlite.JDBC");
         c = DriverManager.getConnection("jdbc:sqlite:test.db");
      } catch (Exception e) {
         System.err.println(e.getClass().getName()); + ": " + e.getMessage());
         System.exit(0);
      }
      System.out.println("La base de données a été ouverte avec succès");
   }
}

Maintenant, compilons et exécutons le programme ci-dessus pourtest.dbCréez une base de données dans le répertoire actuel. Vous pouvez modifier le chemin selon vos besoins. Nous supposons que la version la plus récente du pilote JDBC est fournie dans le répertoire actuel.sqlite-jdbc-3.7.2.jar

$javac SQLiteJDBC.java
$java -classpath ".:sqlite-jdbc-3.7.2.jar" SQLiteJDBC
Ouverture de la base de données réussie

Si vous utilisez un ordinateur Windows, vous pouvez compiler et exécuter le code de la manière suivante-

$javac SQLiteJDBC.java
$java -classpath ".;sqlite-jdbc-3.7.2.jar" SQLiteJDBC
Database Opened Successfully

Création de la table

Le programme Java suivant sera utilisé pour créer une table dans la base de données créée précédemment.

import java.sql.*;
public class SQLiteJDBC {
   public static void main(String args[]) {
      Connection c = null;
      Statement stmt = null;
      
      try {
         Class.forName("org.sqlite.JDBC");
         c = DriverManager.getConnection("jdbc:sqlite:test.db");
         System.out.println("La base de données a été ouverte avec succès");
         stmt = c.createStatement();
         String sql = "CREATE TABLE COMPANY " +
                        "(ID INT PRIMAIRE CLÉE           NOT NULL," +
                        "NOM                                   TEXT           NOT NULL, " + 
                        "ÂGE                                   INT           NOT NULL, " + 
                        "ADRESSE                           CHAR(5"0), " + 
                        "SALARY REAL) 
         stmt.executeUpdate(sql);
         stmt.close();
         c.close();
      } catch (Exception e) {
         System.err.println(e.getClass().getName()); + ": " + e.getMessage());
         System.exit(0);
      }
      System.out.println("Création de table réussie");
   }
}

Lorsque vous compilez et exécutez le programme ci-dessus, il créera la table COMPANY dans votre entreprise,test.dbLa liste finale des fichiers est la suivante-

-rw-r--r--. 1 root root 3201128 Jan 22 19:04 sqlite-jdbc-3.7.2.jar
-rw-r--r--. 1 root root    1506 May  8 05:43 SQLiteJDBC.class
-rw-r--r--. 1 root root     832 May  8 05:42 SQLiteJDBC.java
-rw-r--r--. 1 root root    3072 May  8 05:43 test.db

Opération d'insertion

Le programme Java suivant montre comment créer un enregistrement dans la table COMPANY créée dans l'exemple précédent.

import java.sql.*;
public class SQLiteJDBC {
   public static void main(String args[]) {
      Connection c = null;
      Statement stmt = null;
      
      try {
         Class.forName("org.sqlite.JDBC");
         c = DriverManager.getConnection("jdbc:sqlite:test.db");
         c.setAutoCommit(false);
         System.out.println("La base de données a été ouverte avec succès");
         stmt = c.createStatement();
         String sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
                        "VALUES ("1, 'Paul', 32, 'California', 20000.00 ");" 
         stmt.executeUpdate(sql);
         sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
                  "VALUES ("2, 'Allen', 25, 'Texas', 15000.00 );" 
         stmt.executeUpdate(sql);
         sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
                  "VALUES ("3, 'Teddy', 23, 'Norway', 20000.00 ");" 
         stmt.executeUpdate(sql);
         sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
                  "VALUES ("4, 'Mark', 25, 'Rich-Mond ', 65000.00 );" 
         stmt.executeUpdate(sql);
         stmt.close();
         c.commit();
         c.close();
      } catch (Exception e) {
         System.err.println(e.getClass().getName()); + ": " + e.getMessage());
         System.exit(0);
      }
      System.out.println("Création d'enregistrement réussie");
   }
}

Lorsque vous compilez et exécutez le programme ci-dessus, il créera l'enregistrement donné dans la table COMPANY et affichera les deux lignes suivantes-

Database Opened Successfully
Création d'enregistrement réussie

Opération de sélection

Le programme Java suivant montre comment obtenir et afficher des enregistrements de la table COMPANY créée dans l'exemple précédent.

import java.sql.*;
public class SQLiteJDBC {
  public static void main(String args[]) {
   Connection c = null;
   Statement stmt = null;
   try {
      Class.forName("org.sqlite.JDBC");
      c = DriverManager.getConnection("jdbc:sqlite:test.db");
      c.setAutoCommit(false);
      System.out.println("La base de données a été ouverte avec succès");
      stmt = c.createStatement();
      ResultSet rs = stmt.executeQuery("SELECT"); * FROM COMPANY);
      
      while (rs.next()) {
         int id = rs.getInt("id");
         String name = rs.getString("name");
         int age = rs.getInt("age");
         String address = rs.getString("address");
         float salary = rs.getFloat("salary");
         
         System.out.println("ID = "); + id);
         System.out.println("NAME = "); + name);
         System.out.println("AGE = "); + age);
         System.out.println("ADDRESS = "); + address);
         System.out.println("SALARY = "); + salary);
         System.out.println();
      }
      rs.close();
      stmt.close();
      c.close();
   } catch (Exception e) {
      System.err.println(e.getClass().getName()); + ": " + e.getMessage());
      System.exit(0);
   }
   System.out.println("Opération réussie");
  }
}

After compiling and executing the above program, the following results will be produced.

Database Opened Successfully
ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 20000.0
ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mon
SALARY = 65000.0
Operation Successful

Opération de mise à jour

Le code Java suivant montre comment utiliser une instruction UPDATE pour mettre à jour n'importe quel enregistrement et puis obtenir et afficher les enregistrements mis à jour de la table COMPANY.

import java.sql.*;
public class SQLiteJDBC {
  public static void main(String args[]) {
  
   Connection c = null;
   Statement stmt = null;
   
   try {
      Class.forName("org.sqlite.JDBC");
      c = DriverManager.getConnection("jdbc:sqlite:test.db");
      c.setAutoCommit(false);
      System.out.println("La base de données a été ouverte avec succès");
      stmt = c.createStatement();
      String sql = "UPDATE COMPANY set SALARY= 25000.00 où ID=1";"
      stmt.executeUpdate(sql);
      c.commit();
      ResultSet rs = stmt.executeQuery("SELECT"); * FROM COMPANY);
      
      while (rs.next()) {
         int id = rs.getInt("id");
         String name = rs.getString("name");
         int age = rs.getInt("age");
         String address = rs.getString("address");
         float salary = rs.getFloat("salary");
         
         System.out.println("ID = "); + id);
         System.out.println("NAME = "); + name);
         System.out.println("AGE = "); + age);
         System.out.println("ADDRESS = "); + address);
         System.out.println("SALARY = "); + salary);
         System.out.println();
      }
      rs.close();
      stmt.close();
      c.close();
   } catch (Exception e) {
      System.err.println(e.getClass().getName()); + ": " + e.getMessage());
      System.exit(0);
   }
    System.out.println("Opération réussie");
   }
}

After compiling and executing the above program, the following results will be produced.

Database Opened Successfully
ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 25000.0
ID = 2
NAME = Allen
AGE = 25
ADDRESS = Texas
SALARY = 15000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mon
SALARY = 65000.0
Opération réussie

Opération de suppression

Le code Java suivant montre comment utiliser une instruction DELETE pour supprimer n'importe quel enregistrement et puis obtenir et afficher les autres enregistrements de la table COMPANY.

import java.sql.*;
public class SQLiteJDBC {
   public static void main(String args[]) {
      Connection c = null;
      Statement stmt = null;
      
      try {
         Class.forName("org.sqlite.JDBC");
         c = DriverManager.getConnection("jdbc:sqlite:test.db");
         c.setAutoCommit(false);
         System.out.println("La base de données a été ouverte avec succès");
         stmt = c.createStatement();
         String sql = "DELETE from COMPANY where ID=";2";"
         stmt.executeUpdate(sql);
         c.commit();
         ResultSet rs = stmt.executeQuery("SELECT"); * FROM COMPANY);
         
         while (rs.next()) {
         int id = rs.getInt("id");
         String name = rs.getString("name");
         int age = rs.getInt("age");
         String address = rs.getString("address");
         float salary = rs.getFloat("salary");
         
         System.out.println("ID = "); + id);
         System.out.println("NAME = "); + name);
         System.out.println("AGE = "); + age);
         System.out.println("ADDRESS = "); + address);
         System.out.println("SALARY = "); + salary);
         System.out.println();
      }
      rs.close();
      stmt.close();
      c.close();
      } catch (Exception e) {
         System.err.println(e.getClass().getName()); + ": " + e.getMessage());
         System.exit(0);
      }
      System.out.println("Opération réussie");
   }
}

After compiling and executing the above program, the following results will be produced.

Database Opened Successfully
ID = 1
NAME = Paul
AGE = 32
ADDRESS = California
SALARY = 25000.0
ID = 3
NAME = Teddy
AGE = 23
ADDRESS = Norway
SALARY = 20000.0
ID = 4
NAME = Mark
AGE = 25
ADDRESS = Rich-Mon
SALARY = 65000.0
Operation Successful