Introducción a JDBC
1. Vamos a realizar una clase que contendrá los datos de la conexión
con la base de datos. Al tener esta clase por separado nos permitirá
tener centralizado los datos de la conexión en un único sitio
y realizar el resto de la aplicación independiente de dichos datos. Vamos
a utilizar el SGBD MySQL. La base de datos a utilizar ya está creada.
Esta base de datos trata, de forma simplificada, de gestionar los vuelos de
una agencia de viajes. La estructura de la BD es la siguiente:
Figura 1. Tablas y relaciones en la base de datos a utilizar.
Si queréis utilizarla en vuestra casa debéis seguir los siguientes
pasos:
- Descargad el fichero Viajes.tgz
- Lo descomprimís en el directorio donde se encuentren las bases de
datos de MySQL. Por defecto está en /var/lib/mysql. Para descomprimir
cambiad al siguiente directorio cd /var/lib/mysql y descomprimís
con tar -xvzf Viajes.tgz
- La base de datos ya está activa y se puede utilizar normalmente.
Tenéis disponible la misma base de datos en Access. Aquí os dejo
instrucciones de cómo podéis configurar el gestor de ODBC para
acceder a estos datos.
- Copiad el fichero viajes.mdb a cualquier directorio de vuestro ordenador.
- Configurad ODBC para que sepa dónde está este fichero:
- Id a Panel de Control y abrid Fuentes de datos ODBC.
- Agregad una nueva DSN (nombre de fuentes de datos) de usuario, que nos
permitirá acceder a nuestra BD.
- Seleccionad el driver para acceder a Access. Pulsad en Finalizar.
- Dad el nombre Viajes y si lo deseáis una descripción.
Pinchad en Seleccionar... y seleccionad el fichero viajes.mdb
de vuestro ordenador.
- Pinchad en Aceptar. Esta BD ya está disponible para su
uso mediante ODBC.
Para este primer ejercicio utilizad el fichero Consulta.java. Debéis
rellenar los métodos descritos. Capturar también las excepciones.
2. Haciendo uso de la clase anterior nos disponemos a realizar una clase
que se conecte a la BD y realice un listado de todos los vuelos y usuarios (con
toda la información para cada registro). Podéis utilizar la plantilla
del fichero EjJDBC1.java para realizar el ejercicio. Observad que no
sólo debéis rellenad los métodos, también debéis
incluir la clase Conecta y llamar a los métodos correspondientes.
Realizad, por último, un nuevo método que liste la tabla Disponibilidad
ordenada por precio.
3. Ahora vamos a practicar con las consultas en varias tablas. Vais
a realizar los siguientes métodos, incorporándolos a la clase
desarrollada:
- Un método que le pasemos como parámetro una cadena que se
corresponderá con el primer apellido de un cliente y devolverá
un ResultSet como resultado de realizar una consulta a la BD preguntando
por todos los vuelos reservados por dicho cliente.
- Un método que reciba dos parámetros de entrada, el aeropuerto
de partida y el final. El método devolverá el resultado de consultar
la BD diciéndonos la disponibilidad de vuelos para ese par de aeropuertos.
El método también listará los siguientes datos: una primera
línea con el aeropuerto inicio, aeropuerto fin, hora salida y hora
fin; en las siguientes líneas y ordenado por el campo clase,
la clase, el número de plazas disponibles, el número máximo
de plazas y el precio.
- Por último, un método que devuelva y muestre por pantalla
todos los posibles recorridos a realizar entre un par de aeropuertos. Pasando
como parámetros dos aeropuertos, el método irá interrogando
a la BD para comprobar qué posibles combinaciones se pueden realizar.
Tened en cuenta que las horas de salida y llegada han de tenerse en cuenta
para aceptar ese tramo.