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:
- 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.
- 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í.
- 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:




Rommel Anatoli Quintanillla Cruz
junio 19, 2008
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
Luciano
junio 19, 2008
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.
Rommel Anatoli Quintanillla Cruz
junio 19, 2008
Sí, con eso ya lo tengo, gracias por la respuesta.
Gerardo
diciembre 29, 2008
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.
Peter Emerson Pinchao
junio 10, 2009
Gracias
Dave
marzo 8, 2010
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!!!
LOCO
mayo 24, 2010
nesecito su ayuda por favor
lydia
mayo 29, 2010
eSTA MUY BUENOOOOO
Edmond
junio 10, 2010
Excelente aporte, se agradece !
Edmond
junio 10, 2010
Me faltó decir, funciona a la perfección !
Saludos
carlos sánchez
octubre 21, 2010
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.
Rafael
octubre 22, 2010
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.
mario
marzo 11, 2011
Muchas gracias por el aporte me funciono perfecto
Leo
agosto 3, 2011
Gracias por la ayuda
luis
agosto 29, 2011
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
corazon valiente
marzo 25, 2012
Excelente, me sirvio.
mire este ejemplo sencillo tambien con Java
http://usandojava.blogspot.com/2012/03/sqlite-java-y-un-ejemplo-practico.html
Luis Castrillon
abril 26, 2012
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
Emmanuel
agosto 28, 2012
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.