Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Base de Datos / SQLite / SQLite/Java conexión

SQLite/Java conexión

Autor 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

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Tablas virtuales en java (View)

Tablas virtuales en java (View)

Una Vista (View) es una Tabla Virtual cuyo contenido está definido por una consulta (SELECT), al igual que una tabla rea...

Minimizar aplicación al SystemTray/Bandeja del Sistema

Minimizar aplicación al SystemTray/Bandeja del Sistema

El SystemTray/Bandeja del Sistema o como también se le llama «Área de Notificación» es la sección de la barra de tareas...

JSpinner: Cambiar color de fondo y fuente

JSpinner: Cambiar color de fondo y fuente

Un JSpinner es un componente swing de java con una caja de texto y un par de botones que nos permiten incrementar  y dec...

Leer y Escribir registros en archivo de texto

Leer y Escribir registros en archivo de texto

A veces se necesita utilizar archivos de texto plano como contenedor de registros como si de una base de datos se tratar...

Reconocimiento Óptico de Caracteres con Tess4J

Reconocimiento Óptico de Caracteres con Tess4J

El reconocimiento óptico de caracteres o OCR (Optical Character Recognition), es un proceso dirigido a la digitalización...

Personalizar iconos de un JTree

Personalizar iconos de un JTree

JTree cuenta con métodos que nos permiten cambiar los iconos de cada nodo según su estado, sin embargo a veces esto no e...

3 comentarios en “SQLite/Java conexión”

  1. Emmanuel dice:

    Compañero, ¿conoces alguna forma de no tener que utilizar una ruta específica para la B.D.?, para digamos utilizarlo en diversos equipos y no tener que configurar el códido cada vez que se pasa de equipo.

    Muchas gracias y excelente blog.

    1. Mouse dice:

      si quieres utilizarlo en varios equipos debes colocar el archivo de base de datos junto a tu jar ejecutable e invocarlo utilizando la ruta del jar, por ejemplo:

      System.getProperties(«user.dir»);

      return new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath());

      ClassLoader loader = Test.class.getClassLoader();
      System.out.println(loader.getResource(«foo/Test.class»));

      hay varias formas de hacer eso 🙂

  2. VIANEY VARGAS dice:

    Amigo Mouse quiero conectarme a sql y no me da ya he bajado el archivo lo he agregado a mi proyecto en la carpeta biblioteca pero no da la conexion quiero es agregar una nueva conexion a bnetbeans 7.2 osea una conexion sql ??? como puedo hacer el error q sale este : No se puede establecer la conexión a jdbc:sqlserver://SQLSRV\SQLEXPRESS:1433;databaseName=PQSAS usando com.microsoft.sqlserver.jdbc.SQLServerDriver PORQUE ME SALE ESTE ERROR?? PODRIAS AYUDARME

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

Quasar es un proyecto Open Source basado en el Framework Vue que nos permite desarrollar proyectos de todo tipo, por eje...

Continuando el post de «Introducción a Retrofit» donde realizamos una breve preparación a lo que es el uso de la librerí...

Editar un documento PDF no es tan sencillo como editar un archivo de texto por ejemplo, para editar archivos PDFs necesi...

¿Alguna vez tuviste la necesidad de hacer una captura de pantalla de una página web? Si es así, seguramente buscaste y d...

Herramientas

Generador de Enlaces a Whatsapp