Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Base de Datos / SQLite / SQLite/Java conexión

SQLite/Java conexión

Por jc mouse sábado, mayo 26, 2012

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

Tags

Artículos similares

JSCRUM .:. Gestor de Proyectos

¿Qué es SCRUM? SCRUM es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como pu[...]

Generar esquema XSD a partir de clases java

En un post anterior vimos como usar la herramienta XJC del JDK para generar clases java desde esquemas XSD (XML Schema D[...]

Crea un servicio web REST con PHP y MYSQL -Parte 2

Segunda parte del tutorial «Crea un servicio web REST con PHP y MYSQL«, en esta segunda y ultima parte se completara la[...]

Guardar reporte PDF directamente con Jasperreports

Guardar un reporte PDF creado en iReport no es tan diferente de solo visualizarlo en pantalla. En este ejemplo se hace u[...]

Reporte Padrón electoral con imágenes y Data Matrix

En este post diseñaremos un reporte de un padrón electoral con dos columnas que contendrá los certificados de sufragio e[...]

Borrar código protegido en Netbeans

Cuando programamos visualmente desde Netbeans, el IDE nos ayuda mucho al generar rapidamente código predefinido, sin emb[...]