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:

18 comentario en este artículoDeje el suyo
  1. 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 :)

  2. 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 NetBeansProjects\SQLite\build\classes y corro java sqlite.Main, System.getProperty(“user.dir”) me duvuelve:
    NetBeansProjects\SQLite\build\classes>
    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.

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

  4. 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.

  5. Gracias

  6. 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!!!

  7. nesecito su ayuda por favor

  8. eSTA MUY BUENOOOOO

  9. Excelente aporte, se agradece !

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

  11. 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.

  12. 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:\sqlite\libreria.sqlite
    Podrian ayudarme por favor, gracias de ante mano.

  13. Muchas gracias por el aporte me funciono perfecto :D

  14. Gracias por la ayuda :D

  15. 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

  16. Excelente, me sirvio.

    mire este ejemplo sencillo tambien con Java

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

  17. 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

  18. 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.

Deje su comentario

Por favor, ingrese su nombre

Por favor, ingrese un correo-e válido

Por favor, ingrese su mensaje

luauf.com 2014

WordPressx411W567p429X67