Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Base de Datos / Base de Datos / Firebird / Java / Conectar java con Firebird

Conectar java con Firebird

Autor jc mouse viernes, abril 20, 2012

En este tutorial veremos la forma de conectarse a una base de datos de Firebird utilizando el lenguaje Java y el IDE Netbeans.

¿Qué necesitamos?

Paso 1.

Lo primero que necesitamos es una base de datos, debes crear una utilizando la herramienta iSQL de firebird, sino sabes como pásate por este tutorial [Firebird iSQL], a la base de datos llámala con el nombre de “test.fdb”, esta database contara con una sola tabla la cual es:

01 CREATE TABLE persona(
02 	id varchar(4) primary key,
03 	nombre varchar(60)
04 );

Paso 2.

Ahora crea un nuevo proyecto en netbeans, no se hará uso de ninguna interfaz, solo necesitas crear una “clase fb_connection.java”, el código de la clase es:

01 import java.sql.Connection;
02 import java.sql.DriverManager;
03 import java.sql.PreparedStatement;
04 import java.sql.ResultSet;
05 import java.sql.SQLException;
06 import java.sql.Statement;
07 /**
08  * @web http://www.jc-mouse.net
09  * @author Mouse
10  */
11 public class fb_connection {
12 
13     private Connection connection = null;
14     private ResultSet resultSet = null;
15     private Statement statement = null;
16     private String db= "E:/firebird_db/test.fdb";
17     private String user = "sysdba";
18     private String password = "masterkey";
19 
20 //Constructor de la clase que se conecta a la base de datos una vez que se crea la instancia
21   public fb_connection(){
22       try{
23          Class.forName("org.firebirdsql.jdbc.FBDriver");
24          connection = DriverManager.getConnection("jdbc:firebirdsql://localhost/" + db,this.user, this.password);
25          System.out.println("Conectado a la base de datos [ " + this.db + "]");
26       }catch(Exception e){
27          System.out.println(e);
28       }
29     }
30 //___________________________________________________________________________________ Soy una barra separadora 🙂
31 /* METODO PARA INSERTAR UN REGISTRO EN LA BASE DE DATOS
32  * INPUT:
33  table = Nombre de la tabla
34  fields = String con los nombres de los campos donde insertar Ej.: campo1,campo2campo_n
35  values = String con los datos de los campos a insertar Ej.: valor1, valor2, valor_n
36  * OUTPUT:
37  * Boolean
38 */
39  public boolean insert(String table, String fields, String values)
40     {
41         boolean res=false;
42         //Se arma la consulta
43         String q=" INSERT INTO " + table + " ( " + fields + " ) VALUES ( " + values + " ) ";
44         //se ejecuta la consulta
45         try {
46             PreparedStatement pstm = connection.prepareStatement(q);
47             pstm.execute();
48             pstm.close();
49             res=true;
50          }catch(Exception e){
51             System.out.println(e);
52         }
53       return res;
54     }
55 //___________________________________________________________________________________ Soy una barra separadora 🙂
56 /* METODO PARA REALIZAR UNA CONSULTA A LA BASE DE DATOS
57  * INPUT:
58 
59  * OUTPUT:
60  String con los datos concatenados
61 */
62  public String select()
63  {
64     String res=" ID | Nombre  \n ";
65     try {
66       statement = connection.createStatement();
67       resultSet = statement.executeQuery("SELECT * FROM persona");
68       while (resultSet.next())
69       {
70         res+=resultSet.getString("id") + " | " + resultSet.getString("nombre") + " \n ";
71       }
72      }
73      catch (SQLException ex) {
74         System.out.println(ex);
75      }
76     return res;
77  }
78 //___________________________________________________________________________________ Soy una barra separadora 🙂
79     public void desconectar()
80     {
81         try {
82             resultSet.close();
83             statement.close();
84             connection.close();
85             System.out.println("Desconectado de la base de datos [ " + this.db + "]");
86         }        
87         catch (SQLException ex) {
88             System.out.println(ex);
89         }
90     }
91 //___________________________________________________________________________________ Soy una barra separadora 🙂 
92 }

Importante: En la variable “db” de tipo String, se coloca la ruta de nuestra base  de datos, para este ejemplo se encuentra en el disco E:\ en la carpeta “firebird_db”, el usuario y el password para la conexión a firebird, son lo que vienen por defecto, “sysdba” y “masterkey”, esta clase se conecta a firebird desde el constructor de clase, ademas cuenta con tres métodos, un insert(), un select() y un metodo para cerrar la conexión con firebird.

Si ya programaste java con otras bases de datos, podras darte cuenta que el manejo de datos es muy similar, la única variante por el momento es el driver de conexión.

Paso 3.

En la clase main del proyecto, debe agregar el código:

01 public class Main {
02     
03     public static void main(String[] args) {        
04         //Se crea el objeto y se conecta a firebird
05         fb_connection fbc = new fb_connection();
06         //Se insertan algunos datos
07         fbc.insert("persona", " id , nombre ", " '6655' , 'Charly Manson' ");
08         fbc.insert("persona", " id , nombre ", " '9876' , 'Marilyn Garcia' ");
09         fbc.insert("persona", " id , nombre ", " '7621' , 'Enanitos Azules' ");
10         //Se imprimen los datos de la tabla
11         System.out.println( fbc.select() );
12         fbc.desconectar();        
13     }
14     
15 }

Para terminar ejecuta el proyecto

run:
Conectado a la base de datos [ E:/firebird_db/test.fdb]
  ID  | Nombre  
 6655 | Charly Manson 
 9876 | Marilyn Garcia 
 7621 | Enanitos Azules 

Desconectado de la base de datos [ E:/firebird_db/test.fdb]

Eso es todo, bájate el proyecto 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

Crear PopupMenu (Ventana Emergente)

Crear PopupMenu (Ventana Emergente)

En este tutorial crearemos una aplicación android que nos permitirá abrir un PopupMenu de donde podremos seleccionar una...

Validar documentos XML con esquema XSD

Validar documentos XML con esquema XSD

Un esquema XSD se utiliza para describir y validar la estructura y contenido de los datos de un documento XML. Un esquem...

Introduccion a la programacion shell

Introduccion a la programacion shell

En este post veremos una muy pequeña introducción de lo que es el mundo de la programación en shell de Linux. Necesitamo...

Tabla para inventarios de Entradas y Salidas

Tabla para inventarios de Entradas y Salidas

A veces navegando en la internet buscando novedades , investigando o simplemente perdiendo el tiempo 🙂 se encuentran cos...

Sonidos y Eventos en Swing

Sonidos y Eventos en Swing

La siguiente clase reproduce sonidos WAV en controles Swing de Java Netbeans, los controles son pasados en el constructo...

Interfaces Funcionales

Interfaces Funcionales

Una Interface Funcional es una interface que contiene uno y solo un método abstracto aunque puede contener métodos por d...

7 comentarios en “Conectar java con Firebird”

  1. Carlos dice:

    Si inserto desde consola, los datos no se veran al hacer un SELECT desde JAVA?
    eso me paso, hasta que hice el INSERT desde Java y ahora si se muestran los datos, claro sin los que ya tenia…

  2. José Fuster dice:

    Hola, buenos días. Querría saber si puedo conectar con firebird desde el entorno Eclipse (Luna), es decir, no es necesario que cambie el entorno para trabajar ¿verdad?.

    Gracias de antemano. Un saludo.

    1. Mouse dice:

      no, puedes usar el IDe que te resulte mas comodo

  3. Richard dice:

    Buenas … una consulta.. estoy trabajando con java y firebird… y tengo una pequeña consulta.. eh creado abm….. y estoy queriendo calcular el ultimo Id… + 1 …. y no se como lo podria hacer desde ya gracias y Saludos.!

  4. Richard dice:

    Buenas amigo… una consulta el manejor de reportes como seria java con firebird.. Saludos

    1. Mouse dice:

      :/ con firebird no lo he intentado

  5. Richard dice:

    Buenas amigo .. no tienen todavía la clase para conectar java con firebird 3.0 … esta conexión en si no funciona. . Ya cambie el jaybird pero no hay caso .. espero una respuesta favorable. . Saludos

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

En este post aprenderemos lo que es la clonación de objetos en java o lo que es lo mismo, generación de nuevas instancia...

El índice TIOBE (TIOBE, The Importance of Being Earnest – “La importancia de ser honesto” – refe...

SDKMAN! es una herramienta para la administración de versiones paralelas de varios programas de desarrollo de software c...

Continuando con el estudio del meta lenguaje XML (Lenguaje de Marcado Extensible) bastante utilizado en el intercambio d...

Android Bolivia

MAUS