Entradas populares

lunes, 14 de noviembre de 2011

JAVA JDBC conexión de java con una base de datos (POSTGRES)

Hoy les hablare... del lenguaje en el cual he trabajado estos últimos meses, nada más y nada menos que nuestro gran y querido amigo JAVA, aunque no soy un experto es fácil si ya tienes experiencia en otros lenguajes y mucho más aún cuando utilizas un IDE (en inglés integrated development environment - Entorno de desarrollo integrado). Aunque no hablare mucho del IDE que uso que es NetBeans 7 les explicaré como se realiza una conexión a base de datos de una forma sencilla y reutilizable.
Primero deberán empezar seleccionando el gestor de base de datos que van usar MySql, PostGres, MSSql, ORACLE, etc... Bueno gran parte de los programadores que usan lenguaje de código abierto se inclinan a usar base de datos de código abierto en mi caso voy a usar POSTGRES.
Y como primer paso será descargar la biblioteca que nos facilita el acceso a la base de datos más conocido como JDBC (inglés Java Database Connectivity) u ODBC (Open Database Connectivity) en mi caso en particular tengo el postgresql-8.3-603.jdbc3 para buscar su librería bastará con googlear un poco. (BUSCANDO ALGO ASI COMO: JDBC DE SUBASEDEDATOS).
Una vez con su librería .jar vamos a nuestro IDE y añadimos un nuevo proyecto 

Nos movemos en la pestaña que nos muestra nuestro proyecto y damos click derecho agregar library o librerías.



import java.sql.*;
//Librería para usar el panel de mensajes
import javax.swing.JOptionPane;
public class ClsConexion {
    public Connection conect;
    public Statement sentencia;
    public ResultSet resultado;
public void Connection(String Server, String usuario, String contrasena, String DBname, Boolean test){
        String driver = "org.postgresql.Driver";
        String connectString = "jdbc:postgresql://"+Server+"/"+DBname;
        try{
            Class.forName(driver);
            conect = DriverManager.getConnection(connectString, usuario, contrasena);          
            sentencia = conect.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE, ResultSet.HOLD_CURSORS_OVER_COMMIT);
            if(test == true){
                //Cierro conexión -- DE LA BASE DE DATOS...
               conect.close();
               JOptionPane.showMessageDialog(null, "Conexión realizada con éxito");
            }
        }catch (ClassNotFoundException e ){
            JOptionPane.showMessageDialog(null, "Error al cargar el driver de datos.\n"+e.getMessage());
        }catch(SQLException ext){
            JOptionPane.showMessageDialog(null, "SQLException: Creacion Statement "+ext.getSQLState()+"\n"+ext.toString());
        }
       
    }
    //INICIAR TRANSACCION CON BASE DE DATOS
    public void BeginTrans() throws SQLException{
        conect.setAutoCommit(false);
    }
    //HACER UN ROLLBACK  
    public void RollBack() throws SQLException{
        conect.rollback();
    }
   
    public void Close() throws SQLException{
        if(conect != null){ conect.close(); }
        if(sentencia != null){ sentencia.close(); }
    }
}

No hay comentarios: