English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce chapitre, vous apprendrez à utiliser SQLite dans un programme Java.
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.
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
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
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
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
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
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