Java DataBase Connectivity (JDBC) es el API que permite el acceso desde una aplicación Java a Sistemas Gestores de Bases de Datos Relacionales. Es el cometido que nos hemos planteado en esta primera parte del libro. No se pretende convertir este libro en un mero manual de referencia, sino exponer al lector los mecanismos fundamentales que debe aplicar el programador con los recursos que nos ofrece este API. Todo ello ilustrado con los debidos ejemplos. El material descargable contiene toda una serie de ejercicios que brindan al lector la oportunidad de comprobar los citados mecanismos. Todos los ejercicios de este libro que conectan con Base de Datos, están preparados (y probada exhaustivamente su ejecución libre de errores) para hacerlo con los Gestores de Bases de Datos Relacionales MySQL y Oracle.

Nos encontramos con tres posibles variantes en cuando al procedimiento a utilizar para establecer el Gestor de Base de Datos concreto con que el lector pretende probar la aplicación: Aplicaciones cuyo nombre responde al formato EjercicioJDBCn siendo n el número de ejercicio de la serie. El lector no tiene más que dejar activadas las líneas Class.forName( … ); Connection connection = DriverManager.getConnection( … ); correspondientes al Gestor de BD a utilizar, y comentarizar las que corresponden a la otra BD. En EjercicioJDBC9, estructurado según el modelo de desarrollo de software arquitectura a tres capas, el lector deberá aplicar dicha actuación en la clase ConexionBaseDatos del package datos. Aplicación PoolConexiones. Es necesario cambiar la comentarización de una zona más extensa de código en la clase ConexionBaseDatos.

Aplicaciones VotacionPropuesta y GestionLibros. Forman parte del bloque de ejercicios de este libro destinados a Swing. Aunque estructurados a tres capas, para establecer la Base de Datos con que conectar, el lector debe editar el fichero repositorio.xml, ubicado en el directorio xml del proyecto. Este fichero actúa como repositorio centralizado de información del proyecto susceptible de ser parametrizada. Mediante la edición del mencionado fichero podrá establecer el SGBD escogido: MySQL o bien Oracle Toda aplicación Java en que se pretenda conectar con una Base de Datos utiliza el driver correspondiente a dicha BD. Dichos drivers responden a unas librerías externas que deben ser añadidas al proyecto. Los drivers utilizados y probados en todos los ejercicios de este libro que conectan con Base de Datos son: Para MySQL: mysql-connector-java-5.1.22-bin.jar Para Oracle: ojdbc6.jar Por cuestiones de licencia, solamente podemos aportar el primer fichero.

Está añadido en todos los proyectos, y presente en el directorio lib de cada uno de ellos. Para poder conectar con Oracle, el lector deberá efectuar la descarga del fichero citado, y añadirlo al proyecto al igual que lo está el correspondiente a MySQL. Hemos podido aportar los drivers para MySQL amparándonos en: “You may copy and distribute verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.” Sirva la citada reseña para cumplir con todos los requisitos legales.

Con el material descargable del curso, además del código de todas las aplicaciones, se aportan también scripts SQL que “recrean”, en ambos Sistemas Gestores de Bases de Datos, el escenario necesario (tablas, datos, secuencias, procedimientos almacenados) para la ejecución de las aplicaciones que conectan con dichos SGBD. Solamente la aplicación VotacionPropuesta requiere de la creación previa de la Base de Datos VOTACIONES. El resto de las aplicaciones acceden a la Base de Datos BIBLIOTECA. El lector podrá optar por probar la ejecución de estas aplicaciones en MySQL, en Oracle, o en los dos. Para ello deberá tener instalado el SGBD que escoja, iniciar los servicios, y ejecutar los correspondientes scripts SQL.