Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Java MDB
Java MDB
Objetivos
Introduccin al acceso a bases de datos desde aplicaciones con Java Data Base Connectivity (JDBC)
Dirigido a
Programadores y Analistas/Programadores que deseen desarrollar aplicaciones para Internet con acceso a bases de datos
2
Contenidos
Introduccin El estndar JDBC Ejemplo con JDBC Clases de JDBC API JDBC 2.0
En la conferencia JavaOne (mayo 1996) Sun anuncia nuevos APIs Enterprise dirigidos a aplicaciones cliente/servidor
JDBC (Java DataBase Conectivity) para acceso a bases de datos JVM incorpora un gestor especfico para cada tipo de SGBD
Se apoya en la especificacin y filosofa de ODBC: JDBC ODBC
Mtodos especficos proporcionados por los desarrolladores de cada base de datos Mtodos desarrollados por terceras compaas
El estndar JDBC
JDBC como API Enterprise
Conjunto de clases de acceso a bases de datos relacionales Desarrollo de aplicaciones cliente/servidor dirigidas a empresa mediante objetos Java, applets y servlets
Sistemas de facturacin Reserva de billetes de avin Catlogos Marketing
A d m in is t r a d o r d e o r g n e s d e d a t o s
C o n t r o la d o r ODBC
C o n t r o la d o r ODBC
C o n t r o la d o r ODBC
O r ig e n d e d ato s
O r ig e n d e d ato s
O r ig e n d e d ato s
A R Q U IT E C T U R A O D B C
9
10
11
12
13
14
15
16
Oracle Borland
Genrico para varias bases de datos
17
fichero .class
Applet / Aplicacin
fichero .class
API JDBC
API JDBC
G estor de JDBC
Sistema O perativo
Internet/intranet
Sistema O perativo
Base de Datos
Conexin
Conexin
Sentencia
Crear sentencia Ejecutar sentencia Procesar resultados Finalizar sentencia Cerrar conexin
createStatement()
prepareCall()
prepareStatement()
Sentencia
Sentencia Invocable
Sentencia Preparada
executeUpdate()
Metadatos
executeQuery()
Resultset
execute()
getMoreResults()
Datos
getResultSet()
19
21
22
registerDriver
Seguridad
Hay que tener presente el modelo de seguridad
Class.forName(DRIVER);
25
executeUpdate
Sentencias INSERT, DELETE, UPDATE, CREATE Devuelve un entero
execute
Sentencias desconocidas en tiempo de compilacin o sentencias que devuelven resultados complejos
Devuelve true/false
PreparedStatement select = conexion.prepareStatement( "SELECT * FROM articulos WHERE Titulo=?"); select.setString(1,Mi titulo); ResultSet resultado = select.executeQuery(); while (resultado.next()) System.out.println(resultado.getString("Titulo"));
29
Aportaciones
Ampliacin de la interfaz ResultSet
Movimiento a cualquier posicin y direccin
Realizacin de modificaciones en los datos a travs del ResultSet (sin SQL) Soporte para ejecucin Batch de sentencias Nuevos tipos de datos correspondientes a SQL3
31