Acceder a una base de datos SQLite desde Java es muy sencillo (tan sencillo como SQLite con C#), siempre y cuando dispongamos del driver para hacerlo. A continuación, veremos un pequeño ejemplo de como acceder y trabajar con una base de datos SQLite con el SQLiteJDBC de Zentus desde Java.

Estos son los pasos a seguir, para desarrollar un ejemplo simple y llegar a buen puerto:

  1. Descargar el driver SQLiteJDBC y copiarlo al directorio (o carpeta) JAVA_HOME\lib\ext, donde JAVA_HOME es el directorio de instalación del JRE.
  2. Crear un nuevo proyecto de Java en tu IDE favorito (Eclipse, NetBeans, jDeveloper, etc) o bien en un editor de texto (bloc de notas, gedit, PSPad, etc) si no quieres utilizar un IDE. Nuestro ejemplo, se basa en la misma base de datos creada tiempo atrás aquí.
  3. Correr el programa y observar los resultados.

El código:

package sqlite;

import java.sql.*;

public class Main {

    public static void main(String[] args) {
        try {
            Class.forName("org.sqlite.JDBC");
            Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\sqlite\\libreria.sqlite");
           
            Statement stat = conn.createStatement();
            stat.execute("DELETE FROM autores");
           
            PreparedStatement prep = conn.prepareStatement("INSERT INTO autores (id_autor,nombre) VALUES (?, ?);");
            prep.setInt(1,1);
            prep.setString(2,"Deitel");
            prep.addBatch();
            prep.setInt(1,2);
            prep.setString(2,"Ceballos");
            prep.addBatch();
            prep.setInt(1,3);
            prep.setString(2,"Joyanes Aguilar");
            prep.addBatch();
           
            conn.setAutoCommit(false);
            prep.executeBatch();
            conn.setAutoCommit(true);

            ResultSet rs = stat.executeQuery("select * from autores;");
            while (rs.next()) {
                System.out.println("ID_AUTOR...: " + rs.getString("id_autor"));
                System.out.println("NOMBRE.....: " + rs.getString("nombre"));
                System.out.println("-----------------------------------");
            }
            rs.close();
            stat.close();
            conn.close();
             
        } catch (SQLException ex) {
            System.out.println(ex.getMessage());
        } catch (ClassNotFoundException ex) {
            System.out.println(ex.getMessage());
        }
     
    }
}


Los resultados: