[# SQLite y Java ]

SQLite es una pequeña libreria en C que contiene en ella un completo sistema de gestion de bases de datos totalmente compatible con ACID (propiedad de una base de datos para realizar transacciones seguras). El proyecto de dominio publico y fue creado por D. Richard Hipp. En su version 3 SQLite permite bases de datos de hasta 2 Terabytes, si leyeron bien, algo increible para un aplicacion de tan solo 500 kb. La pagina oficial es http://www.sqlite.org/ aqui pueden buscar la informacion que deseen como asi tambien descargar la libreria. Me olvidaba para los que estan acostumbrados a la administracion visual aqui hay varias aplicaciones muy recomendables:

* http://www.yunqa.de/delphi/doku.php/products/sqlitesp
* http://sqlitebrowser.sourceforge.net/
* http://sqliteadmin.orbmu2k.de/

Luego de esta breve introduccion comenzare a explicar como podemos utilizarla con Java. Lo primero que debemos hacer es descargarnos el JDBC para SQLite, lo podemos conseguir aqui. Ahora bien este driver viene de dos formas diferentes: 100% puro de Java basado en NestedVM, lo que haces es proporcionar una traducción binaria de los bytecode de Java esto se logra teniendo un compilador GCC que crea un binario tipo MIPS y luego este es traducido a un archivo de clase Java. La otra forma es la nativa a traves de una libreria JNI, un JAR en definitiva que lo agregaremos a nuestro projecto esta es la manera que que utilizo personalmente. Lo que sigue es crear un projecto, abrimos el IDE de nuestra preferencia, el mio es NetBeans, y creamos un nuevo projecto. Dependiendo de la plataforma en que estemos trabajando deberemos agregar el libsqlitejdbc.so (linux) o el sqlitejdbc.dll (windows) en el directorio de librerias donde tengamos instalado Java. Ahora si estamos en condiciones de agregar el jar a nuestro projecto. Una vez realizado esto ya podemos implementar SQLite. Lo hacemos de esta forma:

public class Test {
public static void main(String[] args) throws Exception {
     Class.forName("org.sqlite.JDBC");
     // Observen que test.db es la base de datos y se crea en el directorio de trabajo
     Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
     Statement stat = conn.createStatement();
     stat.executeUpdate("drop table if exists people");
     stat.executeUpdate("create table people (name, occupation)");
     PreparedStatement prep = conn.prepareStatement("insert into people values (?, ?)");
     prep.setString(1, "Gandhi");
     prep.setString(2, "politics");
     prep.addBatch();
     prep.setString(1, "Turing");
     prep.setString(2, "computers");
     prep.addBatch();
     prep.setString(1, "Wittgenstein");
     prep.setString(2, "smartypants");
     prep.addBatch();
     conn.setAutoCommit(false);
     prep.executeBatch();
     conn.setAutoCommit(true);
     ResultSet rs = stat.executeQuery("select * from people;");
     while (rs.next()) {
          System.out.println("name = " + rs.getString("name");
          System.out.println("job = " + rs.getString("occupation");
     }
     rs.close();
     conn.close();
}
}

Y eso es todo amigo, muy sencillo de utilizar y la verdad que SQLite posee una versatibilidad enorme. Existen una infinidad de aplicaciones que usan esta libreria y los posibles usos son infinitos.

Fuentes

* http://www.zentus.com/sqlitejdbc/

* http://sqlite-latino.blogspot.com/search/label/SQLite%20y%20Java

* http://nestedvm.ibex.org/

* http://es.wikipedia.org/wiki/SQLite

Richard07

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.

Este Post ha sido visto795 veces

Deja un comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Acceder con Facebook