Table des matières

Utilisation d'une base de données SQLite avec Java

Utilisation

une connexion
public static Connection createConnection() {
  Connection conn = null;
  try {
    Class.forName("org.sqlite.JDBC");
    conn = DriverManager.getConnection("jdbc:sqlite:data.db3");
  }
  catch ( Exception e) { 
    e.printStackTrace();
  }
  return conn;
}
La chaine de connexion utilisée ci-haut considère que le fichier data.db3 est placé dans le répertoire racine du projet (exemple avec Eclipse : ~/Documents/workspace/Projet/data.db3).
un Statement
public static Statement getStatement(Connection conn) {
  Statement stat = null;
  try {
    stat = conn.createStatement();
  }
  catch ( Exception e) { 
    e.printStackTrace();
  }
  return stat;
}
un groupe de données (ResultSet)
public static ResultSet createGenericResultSet(Connection conn, String query) {
  ResultSet rs = null;
  try {
    rs = getStatement(conn).executeQuery(query);
  }
  catch (Exception e) {
    e.printStackTrace();
  }
  return rs;
}
d'insertion de données
public static void insertAllDepartements(Vector<Departement> departements) {
  try {
    Connection conn = createConnection();
    Statement stat = conn.createStatement();
    stat.executeUpdate("DELETE FROM departements;");  
    PreparedStatement prep = conn.prepareStatement("INSERT INTO departements VALUES (?, ?, ?);");
 
    for (int i=0; i<departements.size(); i++) {
      prep.setInt(1, departements.get(i).getNumero());
      prep.setString(2, departements.get(i).getTitre());
      int actif;
      if (departements.get(i).getActif()==true) actif = 1;
        else actif = 0;
      prep.setInt(3, actif);
      prep.addBatch();
    }	
    conn.setAutoCommit(false);
    prep.executeBatch();
    conn.setAutoCommit(true);
    conn.close();
  }
  catch ( Exception e) { 
    e.printStackTrace();
  }
}

Démarrage

Pour démarrer le programme Java avec le package SQLite, il faut inclure le fichier sqlitejdbc-v054.jar dans le Build path de l'EDI ou si l'on démarre avec java :

java -cp .:sqlitejdbc-v054.jar LeProgramme

On peut aussi copier le fichier jar dans le répertoire ext du JDK1). Il faut alors faire un import.

import org.sqlite.JDBC;

Ressources

1)
Sur Mac OS X, il s'agit de /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/ext