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

Tangram: El rompecabezas chino

Tangram: El rompecabezas chino

El Tangram es un juego chino muy antiguo, esta compuesto por 7 piezas: un paralelogramo (romboide), un cuadrado y 5 triá...

Contraseñas con emojis en java

Contraseñas con emojis en java

Semanas atrás leí un articulo en el que se pensaba implementar los emojis como contraseñas en los dispositivos con andro...

Buscar y cargar imagenes de disco

Buscar y cargar imagenes de disco

Cuando se almacenan imágenes en una aplicación java y se desea después a modo de registro buscar estas y cargarlas en al...

Dibujando con Canvas

Dibujando con Canvas

La clase Canvas (Lienzo)  de Android es una superficie que nos permite pintar figuras, texto e imágenes utilizando para...

Generador de Texto ASCII .:. Solo Código

Generador de Texto ASCII .:. Solo Código

ASCII acrónimo inglés de American Standard Code for Information Interchange (Código Estándar Estadounidense para el Inte...

Generador de números aleatorios UNIX

Generador de números aleatorios UNIX

El Método Congruencial Lineal Mixto es el más utilizado en simulación en computadoras digitales y esta basado en una rel...

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

¿Que es el Ciberbullying? Ciberbullying es la unión de dos palabras en inglés cyber + bullying, en español lo conocemos...

Tradukisto es una biblioteca para Java 8 creada para convertir números enteros o cantidades de dinero a sus equivalentes...

Las aplicaciones con IA (Inteligencia Artificial) son cada vez más comunes y se encuentran en diferentes dispositivos de...

Tink es una biblioteca de cifrado desarrollada por un grupo de criptógrafos e ingenieros de seguridad de Google lanzado...

Android Bolivia

MAUS