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
Un post cortito de fin de semana 🙂 , este trata de la forma de extraer la información de una base de datos formar una es[...]
Un servicio web (Web Services) es un sistema de software en la web que nos ofrece la posibilidad de realizar una o múlti[...]
En este tutorial veremos una forma para registrar archivos JPG en una base de datos PostgreSQL y recuperarlos para utili[...]
En este post dejo una forma de como utilizar imágenes en un JTable ademas de implementar MouseListener para realizar dif[...]
En este tutorial, veremos un poco más de lo que son las texturas en libGDX y dos maneras de añadirlas a nuestros juegos,[...]
Se define como Transacción en base de datos a una «unidad lógica de trabajo» compuesta por un conjunto de operaciones qu[...]