SQLite. SQLite es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña biblioteca escrita en C.
La biblioteca implementa la mayor parte del estándar SQL-92, incluyendo transacciones de base de datos atómicas, consistencia de base de datos, aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultas complejas.
La biblioteca puede ser usada desde programas en C/C++, aunque existen driver de conexión disponibles en otros lenguajes de programación interpretado como Java :). [Fuente: Santa Wikipedia]
Para conectar una base de datos SQLite con Java, necesitamos de un driver «SQLiteJDBC» que se puede encontrar gratis en internet, para crear una base de datos *.sqlite, se puede utilizar varios programas, si no quieres nada complejo, puedes utilizar un plugin para Firefox SQLite Manager que no pesa más de 200 KB, en sintesis que necesitamos:
– Java y Netbeans
– Driver de conexión SQLiteJDBC, debes bajarlo e instalar la libreria en Netbeans
SQLite es una base de datos embebida, ya esta presente en la mayoria de los sistemas operativos como windows, este ademas lo utiliza para otros programas como Photoshop y Firefox tambien lo usa. Para saber que lo tienes en tu pc busca el DLL sqlite3.dll, esta libreria se encuentra en C:\Windows\System32\
– Debes crear una base de datos SQLite, para este ejemplo la base de datos utilizada se llama dbTest.sqlite y contiene una sola tabla la cual es:
DROP TABLE IF EXISTS "persona"; CREATE TABLE "persona" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , "nombre" CHAR, "apellido" CHAR );
Comencemos.
1. Crea un proyecto en netbeans, añade la referencia al conector SQLiteJDBC.
2. Crea una clase SQLite_conexion.java y coloca el código:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /** * @web https://www.jc-mouse.net * @author Mouse */ public class SQLite_conexion { private Connection connection = null; private ResultSet resultSet = null; private Statement statement = null; private String db= "E:\\dbSQLite\\dbTest.sqlite"; //Constructor de clase que se conecta a la base de datos SQLite public SQLite_conexion() { try{ Class.forName("org.sqlite.JDBC"); connection = DriverManager.getConnection("jdbc:sqlite:" + this.db ); System.out.println("Conectado a la base de datos SQLite [ " + this.db + "]"); }catch(Exception e){ System.out.println(e); } } /* METODO PARA INSERTAR UN REGISTRO EN LA BASE DE DATOS * INPUT: table = Nombre de la tabla fields = String con los nombres de los campos donde insertar Ej.: campo1,campo2campo_n values = String con los datos de los campos a insertar Ej.: valor1, valor2, valor_n * OUTPUT: * Boolean */ public boolean insert(String table, String fields, String values) { boolean res=false; //Se arma la consulta String q=" INSERT INTO " + table + " ( " + fields + " ) VALUES ( " + values + " ) "; //se ejecuta la consulta try { PreparedStatement pstm = connection.prepareStatement(q); pstm.execute(); pstm.close(); res=true; }catch(Exception e){ System.out.println(e); } return res; } /* METODO PARA REALIZAR UNA CONSULTA A LA BASE DE DATOS * INPUT: * OUTPUT: String con los datos concatenados */ public String select() { String res=" ID | Nombre | Apellido \n "; try { statement = connection.createStatement(); resultSet = statement.executeQuery("SELECT * FROM persona ; "); while (resultSet.next()) { res+=resultSet.getString("id") + " | " + resultSet.getString("nombre") + " | " + resultSet.getString("apellido") + " \n "; } } catch (SQLException ex) { System.out.println(ex); } return res; } public void desconectar() { try { resultSet.close(); statement.close(); connection.close(); System.out.println("Desconectado de la base de datos [ " + this.db + "]"); } catch (SQLException ex) { System.out.println(ex); } } }
Si ya programaste java junto a otros tipos de base de datos MySQL, Postgres, Firebird, Acces, etc, te darás cuenta que es prácticamente el mismo procedimiento de conexión y uso, a excepción de que SQLite no utiliza usuario y contraseña. Después hay que indicar la ruta donde esta el archivo *.sqlite además de la llamada a la libreria «org.sqlite.JDBC».
3. Para terminar, implementamos esta clase en el Main.
public class Main { public static void main(String[] args) { //Se crea instancia a objeto y se conecta a SQLite SQLite_conexion fbc = new SQLite_conexion(); //Se insertan algunos datos fbc.insert("persona", " nombre, apellido ", " 'Charly', 'Manson' "); fbc.insert("persona", " nombre, apellido ", " 'Marilyn' , 'Garcia' "); fbc.insert("persona", " nombre, apellido ", " 'Marcelo', 'Chamboneti' "); //Se imprimen los datos de la tabla System.out.println( fbc.select() ); fbc.desconectar(); } }
Ejecutamos y tenemos:
run: Conectado a la base de datos SQLite [ E:\dbSQLite\dbTest.sqlite] ID| Nombre | Apellido 1 | Charly | Manson 2 | Marilyn | Garcia 3 | Marcelo | Chamboneti Desconectado de la base de datos [ E:\dbSQLite\dbTest.sqlite]
FIN 🙂
Bájate el proyecto netbeans AQUI
¿Qué es SCRUM? SCRUM es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como pu[...]
En un post anterior vimos como usar la herramienta XJC del JDK para generar clases java desde esquemas XSD (XML Schema D[...]
Segunda parte del tutorial «Crea un servicio web REST con PHP y MYSQL«, en esta segunda y ultima parte se completara la[...]
Guardar un reporte PDF creado en iReport no es tan diferente de solo visualizarlo en pantalla. En este ejemplo se hace u[...]
En este post diseñaremos un reporte de un padrón electoral con dos columnas que contendrá los certificados de sufragio e[...]
Cuando programamos visualmente desde Netbeans, el IDE nos ayuda mucho al generar rapidamente código predefinido, sin emb[...]