SQLite en Java

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:
[JAVA]
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());
}

}
}
[/JAVA]

Los resultados:

Tags: , ,


  • Rommel Anatoli Quintanillla Cruz

    Hola, tenía una preguntilla, ¿Dónde es que se pone la base de datos dentro de la carpeta de un proyecto por ejemplo de Netbeans, para que no haya que ponerle una ubicación fija, estilo:
    Connection conn = DriverManager.getConnection(“jdbc:sqlite:C:\sqlite\libreria.sqlite”);
    ?, gracias de antemano 🙂

    Reply

  • Luciano Post author

    Se me ocurre lo siguiente, puedes utilizar el método getProperty de la clase System así:
    System.getProperty(“user.dir”)
    Esto te devolverá el directorio de trabajo donde te encuentras, y en función del mismo armar el path de donde quieres leer el archivo de sqlite.
    Por ejemplo, si me encuentro en NetBeansProjectsSQLitebuildclasses y corro java sqlite.Main, System.getProperty(“user.dir”) me duvuelve:
    NetBeansProjectsSQLitebuildclasses>
    En función de ese path puedo armar un nuevo path donde deseas dejar la BD. En definitiva, no pasa a depender de NetBeans sino de como hagas el deployment de tu aplicación.

    Reply

  • Rommel Anatoli Quintanillla Cruz

    Sí, con eso ya lo tengo, gracias por la respuesta.

    Reply

  • Gerardo

    Buen Articulo, Saludos desde México, Si a alguien le interesa hice un tutorial en mi Nuevo Blog. Muestra el uso de SQLite con Java. Mostrando los datos en un JTable tambien realiza modificaciones sobre los registros y los guarda dejo el link para el que lo desee consultar; Articulo Bye.

    Reply

  • Peter Emerson Pinchao

    Gracias

    Reply

  • Dave

    Bueno estoy empezando en esto y necesito ayuda, ya yo puedo añadir cosas a mi bd en sqlite, con netBeans como ide (utilizo java), pero sucede que cuando creo una aplicacion desktop para levantar alguna tabla de la base de datos a la cual estoy conectado me da error, si quiero añadir o realizar cualq tipo de consulta mediante netbeans todo se actualiza perfectamente en el sqlite y en la bd como tal claro, pero no me levanta la aplicacion desktop. Diganme que puedo hacer. Saludos!!!

    Reply

  • LOCO

    nesecito su ayuda por favor

    Reply

  • lydia

    eSTA MUY BUENOOOOO

    Reply

  • Edmond

    Excelente aporte, se agradece !

    Reply

  • Edmond

    Me faltó decir, funciona a la perfección !
    Saludos

    Reply

  • carlos sánchez

    Hola está muy bueno el articulo, pero mi pregunta es en donde se guarda la base de datos puesto que deseo añadirla a mi proyecto en netbeans y tambien preguntarles si se puede escribir en la bd o actualizarla una vez que se incluye en el .jar de mi proyecto?

    Gracias.

    Reply

  • Rafael

    Hola a todos, soy nuevo en el manejo de SQLite y tengo un problema a momento de hacer funcionar el ejemplo de arriba, me sale en siguiente error:
    Error en la Conexion. No suitable driver found for jdbc:sqlite:C:sqlitelibreria.sqlite
    Podrian ayudarme por favor, gracias de ante mano.

    Reply

  • mario

    Muchas gracias por el aporte me funciono perfecto 😀

    Reply

  • Leo

    Gracias por la ayuda 😀

    Reply

  • luis

    oye amigo exlente una pregunta tengo una aplicacion con lazarus y sqlite3 necesito transportarla a otro equipo trabajo con ubuntu el otro equipo tambien que archivos debo empaquetar para que funcione en el otro equipo

    Reply

  • corazon valiente

    Excelente, me sirvio.

    mire este ejemplo sencillo tambien con Java

    http://usandojava.blogspot.com/2012/03/sqlite-java-y-un-ejemplo-practico.html

    Reply

  • Luis Castrillon

    Excelente, justo estaba buscandolo para hacer un taller con bases de datos pero necesitaba algo que fuese pequeño y e aqui la solucion, gracias

    Reply

  • Emmanuel

    Disculpe, podría explicar mejor el ejemplo que le dio a Rommel, es que apenas estoy aprendiendo a manejar SQLite, y deseara realizar un programa que pueda ejecutarse/instalarse en cualquier computador.

    Muchas gracias y excelente blog.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *