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