Programación B
Programación Orientada a Objetos
Ingeniería en Informática
Universidad FASTA
Ing. Luis Buffoni
Lic. Claudio Gea
Java – Conexión a Bases de Datos (JDBC)
JDBC: Java DataBase Connectivity
Provee una forma de comunicarse con bases de datos sin
necesidad de escribir código adicional para las diferentes
plataformas.
Packages [Link] y [Link] .
Un driver JDBC es lo que usa la JVM para traducir las
instrucciones generales de JDBC a instrucciones específicas
para cada base de datos en particular.
Universidad FASTA – Programación B 2
JDBC: Java DataBase Connectivity
Los drivers son clases Java cargadas en tiempo de
ejecución.
String driver = "[Link]";
try {
[Link](driver);
} catch(ClassNotFoundException cnfe) {
[Link]("No existe clase: " + driver);
}
JSE6 incorpora JDBC 4.0 API (paquete [Link]) que
extiende la funcionalidad, y es parte de JavaEE.
JSE7 incorpora JDBC 4.1 API: uso de try-with-resources y
RowSet 1.1 (RowSetFactory y RowSetProvider)
Universidad FASTA – Programación B 3
JDBC: Pasos para consultar una BD
1. Cargar el driver JDBC
2. Definir una conexión (Connection) de tipo URL, host, port y
base de datos.
3. Establecer la conexión.
4. Crear un objeto de tipo sentencia (Statement).
5. Ejecutar la sentencia (consulta o actualizacion).
6. Procesar el resultado (ResultSet)
7. Cerrar la conexión
Universidad FASTA – Programación B 4
JDBC: Ejemplo
Universidad FASTA – Programación B 5
DataSource como mejor alternativa a
DriverManager (JSE6)
Más portable: no se debe “hardcodear” el nombre del driver o
la URL JDBC en la aplicación.
Código más simple: métodos para adaptar conexiones (ej:
serverName)
Pool automático de conexiones con transacciones
distribuidas.
[Link] ds =
new [Link]();
[Link]("grinder");
[Link]("CUSTOMER_ACCOUNTS");
[Link]("Accounts database for billing");
Universidad FASTA – Programación B 6
try-with-resources (JSE7)
El try-with-resources declara 1 o más recursos (objeto que debe ser
cerrado por el programa luego de ser usado) que son cerrados
automáticamente al finalizar el try-with. Los recursos deben
implementar [Link].
Los bloques catch y finally (si existen) se ejecutan luego del cierre de
los recursos.
Universidad FASTA – Programación B 7