Mantenimiento de una tabla en Oracle con Java y JSP – Anexo 02 – Interface Connection.

Capa BD
01. Crear una BD en Oracle.
02. Crear una Tabla con clave primaria.
03. Crear un secuenciador.
04. Implementar sentencias para mantenimiento de la tabla.
05. Crear un package en la BD.
06. Crear un SP con un cursor como parametro de salida.
07. Crear un SP para devolver nombres similares de un campo.

Applicacion Web
08. Crear Un proyecto Web en Java.

Capa modelo
09. Crear Una clase Entidad (una clase simple).
10. Obtener una Conexión hacia la BD.
11. Crear un Statement simple.
12. Crear un PreparedStatement con parametros.
13. Crear un CallableStatement con un cursor como parametro de salida.

Capa Controlador
14. Crear un Servlet Controlador.

Capa Vista
15. Crear una pagina JSP con un formulario.

Anexos
01. Cadena de conexión.
02. Interface connection.
03. Clase OracleDataSource.
04. SQLException.
05. try – catch.
06. RequestDispatcher.

Interface Connection

Que es:


Es el objeto sin el que no es posible hacer ninguna referencia a la BD y representa una conexion fisica con la BD.
Esta interface se encuentra en el paquete java.sql .
El paquete java.sql contiene las librerias principales de JDBC. Debe usar clases o interfaces de este paquete en cada aplicacion JDBC. El paquete javax.sql package contiene las clases e interfaces que soportan programas JDBC de nivel empresarial. Necesita este paquete solo cuando tenga que tratar con connection pooling, rowsets, transacciones distribuidas , u otra caracteristica avanzada.

Como se usa


Debe incluir el bloque de codigo que use este objeto dentro de try – catch, porque esta interface lanza una SQLException.
Tambien puede obviar usar estos bloques haciendo que el metodo que lo contiene lance un SQLException.

Importar la interface java.sql.Connection

import java.sql.Connection;

Agregamos el codigo para obtener un objeto Connection

Connection conn;
try {
            //agregar despues de crear el objeto OracleDatasource
            System.out.println("Conectando a la database...");
            System.out.println("Conectando...");

            //obtenemos la conexion desde el Objeto OracleDataSource.
            Connection conn = ods.getConnection();
            System.out.println("Conectado.");
            // Cerrar la conexión
            conn.close();

        } catch (ClassNotFoundException error) {
            System.err.println("No se pudo cargar el controlador JDBC." + error);
            System.exit(1);
        } finally {
            //block finally usado para cerrar recursos
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException se) {
                se.printStackTrace();
            }//fin finally try
        }//fin try

Resultado

Para ejecutar dar clic derecho en Linea->Run File
En la ventana FastStore2 (run) se mostrara la salida si todo se ejecuta normalmente :

Conectando a la database...
Conectando...
Conectado.

Como funciona :


Primero declaramos el objeto conn de tipo Connection antes del bloque try. Esto es porque si se declara dentro y se produce una excepcion antes de la sentencia que lo declara, el bloque finally que siempre se ejecuta no podra usar este objeto.

Dentro del bloque try obtenemos una conexion con el metodo getConnection() de la clase OracleDataSource y lo guardamos en la variable conn.

En este ejemplo solo se usa un catch y es para el caso que no se encuentre la clase OracleDataSource, lo comun es tener otros mas para las excepciones generadas por otros objetos usados en el bloque try.

Luego se crea un bloque finally para cuando se produzca alguna excepcion y el metodo close() del objeto Connection dentro del try no se pueda ejecutar.

El finally asegurara que se haga una apropiada limpieza del objeto Connection, si el metodo getConnection() de OracleDataSource lanza una SQLException, ocasionara que no se pueda cerrar la conexion si anteriormente ya se obtuvo una, por eso esta debe ser captada por este finally.

Ver tambien :


Java Data Access—JDBC, JNDI, and JAXP, Todd M. Thomas, Chapter 4: Connecting to Databases with JDBC.

Oracle Database 11g PL/SQL Programming, Michael McLaughlin, Appendix D : Oracle Database Java Primer.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s