Java Tutorial
Enviado por airprincess • 30 de Julio de 2012 • 15.771 Palabras (64 Páginas) • 404 Visitas
Java y Bases de Datos (Oracle).
Una síntesis.
Sergio Gálvez Rojas
Miguel Ángel Mora Mata
JAVA Y BASES DE DATOS (ORACLE). UNA SÍNTESIS.
EDICIÓN ELECTRÓNICA
AUTOR: SERGIO GÁLVEZ ROJAS
MIGUEL ÁNGEL MORA MATA
ILUSTRACIÓN
DE PORTADA: MIGUEL ÁNGEL MORA MATA
Sun, el logotipo de Sun, Sun Microsystems y Java son marcas o marcas registradas de Sun Microsystems Inc. en los EE.UU. y otros países.
Oracle es una marca registrada y Oracle9i/Oracle10g son marcas comerciales o marcas registradas de Oracle Corporation
Depósito Legal: MA 125-2010
I.S.B.N.: 978-84-693-0176-0
Java y Bases de Datos (Oracle)
Una síntesis
Sergio Gálvez Rojas
Doctor Ingeniero en Informática
Miguel Ángel Mora Mata
Ingeniero en Informática
Dpto. de Lenguajes y Ciencias de la Computación
E.T.S. de Ingeniería Informática
Universidad de Málaga
Java y Bases de Datos (Oracle).
Una síntesis.
Índice
Capítulo 1:
Introducción.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Procedimientos almacenados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
JDBC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
SQLJ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
BC4J.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
JDeveloper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Capítulo 2:
Procedimientos almacenados
en Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Ejemplo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
loadjava. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Consideraciones sobre loadjava.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Publicación.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Correspondencia entre tipos.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Tipos de parámetros.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Creación de Tipos en Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Otras invocaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Capítulo 3:
Java Database Connectivity.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Cómo acceder a una base de datos.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Drivers JDBC de Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Ejemplo preliminar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
JDBC 2.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
JDBC 3.0 y 4.0.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Importación de paquetes y Carga del driver.. . . . . . . . . . . . . . . . . . . . . . . . . . 27
Conexión a la base de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Consulta a la base de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Procesamiento del ResultSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Cierres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Sentencias preparadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Ejemplo de sentencia preparada.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Acceso a la base de datos en procedimientos almacenados.. . . . . . . . . . . . . . . . . . . . 34
Acceso a proc. almacenados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Ejemplo de llamada a DBMS_OUTPUT.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Procesamiento básico de transacciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Gestión de ResultSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
ResultSet con scroll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
ResultSet actualizable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Metadatos de ResultSet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Metadatos de la base de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Gestión de Large Objects.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Procesamiento batch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
JDBC 4.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Anotaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
La interfaz BaseQuery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Claves automáticas.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
La interfaz DataSet.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Recorrido de excepciones SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
El tipo RowId.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
...