1. Desarrollo de software
Texto diseñado para
adiestrar en el
desarrollo de
aplicaciones escritas en
lenguaje Java y que
accedan a bases de
datos externas a través
de JDBC 2.0, así como
dar a conocer todos los
aspectos sintácticos del
API JDBC 2.0.
Todo el texto está
escrito para Java 2
estándar, de modo que
puede emplearse tanto
para herramientas
como el Java de Sun
como para el Visual
J++ de Microsoft.
Se requiere conocer los
fundamentos de
Internet/Intranet,
estar familiarizado con
la navegación por la
web, conocer Java y el
sistema operativo
Windows a nivel de
usuario.
ACCESO A BASES DE DATOS CON
JAVA-JDBC 2.0
ÁNGEL ESTEBAN
5. Índice
ÍNDICE................................................................................................................................................... 5
INTRODUCCIÓN AL LENGUAJE JAVA: CONCEPTOS PREVIOS .......................................... 9
INTRODUCCIÓN .................................................................................................................................... 9
BREVE HISTORIA DEL LENGUAJE ....................................................................................................... 10
DESCRIPCIÓN DEL LENGUAJE ............................................................................................................. 11
PROGRAMAS EN JAVA: APPLETS Y APLICACIONES ............................................................................. 14
SIMILITUDES Y DIFERENCIAS ENTRE JAVA Y C++ ............................................................................. 20
VERSIONES DEL LENGUAJE ................................................................................................................ 21
ENTORNOS DE DESARROLLO .............................................................................................................. 22
CARACTERÍSTICAS DE LA PLATAFORMA JAVA 2 ................................................................................ 23
PRINCIPALES PAQUETES DEL LENGUAJE JAVA................................................................................... 25
JFC Y SWING....................................................................................................................................... 27
COMPONENTES SWING FRENTE A COMPONENTES AWT ..................................................................... 28
INTRODUCCIÓN AL LENGUAJE JAVA: ASPECTOS RELACIONADOS CON JDBC ........ 31
INTRODUCCIÓN .................................................................................................................................. 31
TRATAMIENTO DE EVENTOS EN JAVA ................................................................................................ 31
SOCKETS ............................................................................................................................................ 46
APLICACIONES CLIENTE/SERVIDOR EN JAVA ..................................................................................... 47
INTRODUCCIÓN A JDBC................................................................................................................ 55
DEFINICIÓN DE JDBC ........................................................................................................................ 55
FUNCIONES ........................................................................................................................................ 56
CARACTERÍSTICAS DE JDBC ............................................................................................................. 56
6. MODELOS DE DOS Y TRES CAPAS ....................................................................................................... 57
ESTRUCTURA DE JDBC...................................................................................................................... 58
DRIVERS JDBC .................................................................................................................................. 58
ESCENARIOS DE USO .......................................................................................................................... 60
TRUSTED/UNTRUSTED APPLETS ........................................................................................................ 61
NUEVAS CARACTERÍSTICAS DE JDBC 2.0 ............................................................................... 63
INTRODUCCIÓN .................................................................................................................................. 63
AMPLIACIONES DEL INTERFAZ RESULTSET ....................................................................................... 64
REALIZANDO MODIFICACIONES SOBRE UN RESULTSET ..................................................................... 66
INSERTANDO Y ELIMINANDO REGISTROS DE UN RESULTSET............................................................. 67
VISIBILIDAD DE LOS CAMBIOS EN UN RESULTSET ............................................................................. 69
MODIFICACIONES EN MODO BATCH .................................................................................................. 70
TIPOS SQL3 ....................................................................................................................................... 72
EXTENSIONES ESTÁNDAR .................................................................................................................. 74
DESCRIPCIÓN GENERAL DEL API JDBC .................................................................................. 77
EL INTERFAZ CONNECTION........................................................................................................ 83
INTRODUCCIÓN .................................................................................................................................. 83
DEFINICIÓN ........................................................................................................................................ 83
URLS DE JDBC.................................................................................................................................. 84
EL INTERFAZ CONNECTION ................................................................................................................ 87
REALIZANDO UNA CONEXIÓN ............................................................................................................ 88
LA CLASE DRIVERMANAGER...................................................................................................... 95
DEFINICIÓN DE LA CLASE DRIVERMANAGER .................................................................................... 95
LA CLASE DRIVERMANAGER ............................................................................................................. 95
DEFINICIÓN DEL INTERFAZ DRIVER ................................................................................................... 96
EL INTERFAZ DRIVER ......................................................................................................................... 97
REGISTRANDO LOS DRIVERS ............................................................................................................. 97
ESTABLECIENDO LA CONEXIÓN ......................................................................................................... 99
EL MÉTODO REALIZACONEXIÓN()................................................................................................... 101
TRATANDO LAS EXCEPCIONES ......................................................................................................... 105
COMPONENTES SWING, APPLETS Y JDBC 2.0 .................................................................................. 110
CONEXIÓN INTERACTIVA ................................................................................................................. 113
EL INTERFAZ STATEMENT ........................................................................................................ 119
DEFINICIÓN DEL INTERFAZ STATEMENT .......................................................................................... 119
EL INTERFAZ STATEMENT................................................................................................................ 120
CREANDO UN OBJETO STATEMENT .................................................................................................. 122
EJECUCIÓN DE OBJETOS STATEMENT .............................................................................................. 125
SINTAXIS DE ESCAPE ........................................................................................................................ 127
UTILIZANDO TRANSACCIONES ......................................................................................................... 128
EL INTERFAZ RESULSET I.......................................................................................................... 131
DEFINICIÓN ...................................................................................................................................... 131
EL INTERFAZ RESULTSET ................................................................................................................. 132
OBTENIENDO LOS DATOS DEL RESULTSET ...................................................................................... 138
TIPOS DE DATOS Y CONVERSIONES .................................................................................................. 138
DESPLAZAMIENTO EN UN RESULTSET ............................................................................................. 142
EL INTERFAZ RESULSET II ........................................................................................................ 151
MODIFICACIÓN DE UN RESULTSET .................................................................................................. 151
MÚLTIPLES RESULTADOS................................................................................................................. 153
EL MÉTODO EXECUTE() ................................................................................................................... 154
6
7. LA HERRAMIENTA JDBCTEST ......................................................................................................... 156
EJECUCIÓN DE SENTENCIAS SQL GENÉRICAS (SQL DINÁMICO)..................................................... 159
EL INTERFAZ PREPAREDSTATEMENT................................................................................... 163
DEFINICIÓN ...................................................................................................................................... 163
EL INTERFAZ PREPAREDSTATEMENT............................................................................................... 164
CREANDO OBJETOS PREPAREDSTATEMENT .................................................................................... 165
UTILIZANDO LOS PARÁMETROS DE ENTRADA ................................................................................. 166
UN EJEMPLO SENCILLO .................................................................................................................... 168
MANTENIMIENTO DE UNA TABLA .................................................................................................... 172
EL INTERFAZ CALLABLESTATEMENT .................................................................................. 177
DEFINICIÓN ...................................................................................................................................... 177
EL INTERFAZ CALLABLESTATEMENT .............................................................................................. 178
UTILIZANDO PARÁMETROS .............................................................................................................. 179
MODIFICANDO EL EJEMPLO DE LA SENTENCIA PREPAREDSTATEMENT .......................................... 181
APLICACIÓN DE EJEMPLO................................................................................................................. 182
EL INTERFAZ DATABASEMETADATA .................................................................................... 185
DEFINICIÓN ...................................................................................................................................... 185
OBTENIENDO INFORMACIÓN DE UNA BASE DE DATOS ..................................................................... 186
EL INTERFAZ RESULTSETMETADATA................................................................................... 193
DEFINICIÓN ...................................................................................................................................... 193
EL INTERFAZ RESULTSETMETADATA ............................................................................................. 194
APPLET DE INFORMACIÓN DE COLUMNAS ....................................................................................... 195
UNA VISIÓN GENERAL................................................................................................................. 201
INTRODUCCIÓN ................................................................................................................................ 201
RELACIONES ENTRE INTERFACES..................................................................................................... 201
PROCESO LÓGICO DE UN PROGRAMA JDBC .................................................................................... 202
SQL INTERACTIVO ........................................................................................................................... 203
EXTENSIONES ESTÁNDAR DE JDBC 2.0 .................................................................................. 209
INTRODUCCIÓN ................................................................................................................................ 209
EL INTERFAZ DATASOURCE ............................................................................................................ 210
POOLING DE CONEXIONES ................................................................................................................ 212
TRANSACCIONES DISTRIBUIDAS ...................................................................................................... 213
EL INTERFAZ ROWSET ..................................................................................................................... 214
BIBLIOGRAFÍA ............................................................................................................................... 215
7
8.
9. Introducción al lenguaje Java: conceptos
previos
Introducción
En este capítulo y en el siguiente vamos a comentar las características principales del lenguaje Java,
también comentaremos algunos conceptos interesantes que aporta el lenguaje.
Como su nombre indica este capítulo y el siguiente son introductorios, y se han reunido en ellos los
distintos aspectos del lenguaje Java que se consideran más relevantes para el tema que nos ocupa, que
no es otro que el desarrollo de aplicaciones Java para el acceso a bases de datos, a través del conjunto
de clases e interfaces que ofrece Java denominado JDBC, y más concretamente vamos a tratar la
versión 2.0 de JDBC.
Por lo tanto en este capítulo todavía no vamos a ver ni una sola línea de código en Java, antes debemos
tener claro una serie de puntos acerca del lenguaje. Este capítulo está enfocado a modo de repaso ya
que se supone que el lector ya conoce el lenguaje Java, así como el paradigma de la programación
orientada a objetos.
En el siguiente capítulo trataremos temas más concretos y mostraremos algunos ejemplos de código
Java.
En este capítulo también comentaremos tres herramientas de desarrollo que podemos utilizar para
realizar nuestros desarrollos en Java, se trata de las siguientes: