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 http://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

Tres cursos de programación de la Universidad de Stanford

Tres cursos de programación de la Universidad de Stanford

La Universidad Leland Stanford Junior, conocida mundialmente como la Universidad Stanford, es una universidad privada es...

Impresión de imágenes en PDF

Impresión de imágenes en PDF

Existen varias aplicaciones (free y de pago) que emulan una impresora virtual para generar archivos en PDF  (Portable Do...

Manipular colecciones de una forma sencilla

Manipular colecciones de una forma sencilla

Java proporciona Collection Framework, que define varias clases e interfaces para representar un grupo de objetos como u...

Informes Access con JasperReport/iReport

Informes Access con JasperReport/iReport

En este post vemos la forma de conectar una base de datos Access con JasperReport para diseñar y ejecutar reportes. Para...

Google Circles en java

Google Circles en java

En este tutorial crearemos el botón de Google+ Google Circles para una interfaz de escritorio 🙂 si no sabes lo que son e...

Formulario de login personalizado

Formulario de login personalizado

Hola, en este oportunidad dejo a disposición un formulario de logueo que se me ocurrió de repente creo inspirado en las...

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

Pyodide es un proyecto experimental de Mozilla  que proporciona un intérprete de Python que se ejecuta completamente en...

PicarOS Diego es una distribución GNU/Linux basada en Debian enfocada principalmente en la educación dentro del aula rec...

Windows XP fue lanzado oficialmente el 25 de octubre de 2001, han pasado ya 17 años y 7 meses convirtiendo así a XP uno...

Java proporciona Collection Framework, que define varias clases e interfaces para representar un grupo de objetos como u...

Android Bolivia

MAUS