lunes, junio 06, 2011

CONEXION A UNA BD ORACLE

En esta ocacion veremos el ya choteadisimo ejemplo de una conexion a bd, en este caso utilizare oracle, y el metodo de conexion thin

1.- Descargar el jar de conexion a oracle (en mi caso utilizare ojdbc14.jar)

2.- Crear el conjunto de paquetes a utilizar
com.conexion.dao
com.conexion.impl
com.conexion.interfaz
com.conexion.main

3.- Creamos la interfaz de conexion
package com.conexion.interfaz;

import java.sql.Connection;

public interface ConexionI {
 public boolean conectar();
 public boolean desconectar();
 public Connection getConexion();
 public String getSentenciaSQL();
 public void setSentenciaSQL(String sentenciaSQL);
}
4.- Creamos la clase que proveera los datos de conexion
package com.conexion.impl;

public class DatosConexion {
 private String usr;
 private String pass;
 private String server;
 private String tipoConexion;
 
 public DatosConexion(){
  setTipoConexion("jdbc:oracle:thin:");
  setServer("@127.0.0.1:1521:miServer");
  setPass("miPass");
  setUsr("miUsr");
 }

/*
 Los Metodos get y set
*/
}
5.- Creamos la implementacion de la interfaz
package com.conexion.impl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.conexion.interfaz.ConexionI;

public class ConexionOracle implements ConexionI {

 private Connection conexion;
 private DatosConexion datos;
 private String sentenciaSQL;

 public boolean conectar() {
  try {
   datos = new DatosConexion();
   DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
   setConexion(DriverManager.getConnection(getDatos().getTipoConexion()
     + getDatos().getServer(), getDatos().getUsr(), getDatos()
     .getPass()));
   return true;
  } catch (SQLException e) {
   System.out.println("Error al Conectar a la bd ...");   
   return false;
  }
 }

 public boolean desconectar() {
  try {
   if (getConexion() != null) {
    if (!getConexion().isClosed()) {
     getConexion().close();
    }
   }
   return true;
  } catch (SQLException e) {
   System.out.println("Error al Desconectar a la bd ...");
   return false;
  }
 }

/*
 Los Metodos get y set
*/

}
6.- Creamos la clase DAO de persona
package com.conexion.dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.conexion.impl.ConexionOracle;
import com.conexion.interfaz.ConexionI;

public class PersonaDAO {
 public void consultaDatos() {
  try {
   ConexionI conexionBD = new ConexionOracle();
   PreparedStatement ps;
   ResultSet rs;
   if (conexionBD.conectar()) {
    System.out.println("Conectado ... ");

    conexionBD
      .setSentenciaSQL("select ID_PERSONA, NOMBRE from PERSONAS order by ID_PERSONA");

    ps = conexionBD.getConexion().prepareStatement(
      conexionBD.getSentenciaSQL());

    rs = ps.executeQuery();

    while (rs.next()) {
     System.out.print(" ID: " + rs.getInt("ID_PERSONA"));
     System.out.println(" NOMBRE: " + rs.getString("NOMBRE "));
    }

    if (conexionBD.desconectar()) {
     System.out.println("Desconectado ... ");
    }
   }
  } catch (SQLException e) {
   System.out.println("Error en la sentencia sql");
  }
 }
}
7.- Realizamos nuestro Test
package com.conexion.main;

import com.conexion.dao.PersonaDAO;

public class Test {
 public static void main(String[] args) {
  PersonaDAO persona = new PersonaDAO();
  persona.consultaDatos();
 }
}
Como se puede observar, realizar una conexion a bd, es de lo mas facil

2 comentarios:

  1. hola mundo!, soy nuevo en esto y no entiendo qué debo hacer con el ojdbc14.jar

    ResponderEliminar
  2. Que tal mi estimado, esta es una librería que te permitirá comunicar con oracle, existen librerías para diferentes motores de bd, como Mysql, DB2, etc. del mismo modo existen librerías especificas para las versiones de los motores.

    En este caso la librería en cuestión se debe cargar en tu proyecto, y la forma en que lo debes hacer dependerá del IDE que ocupes.

    Aca te dejo un link con los pasos para añadir un jar en tu proyecto (Es un ejemplo de Eclise)

    http://es.wikihow.com/a%C3%B1adir-un-jar-a-un-proyecto-en-eclipse-(java)

    Saludos

    ResponderEliminar