3. 3
Índice
1.3. Tema 3: JDBC, Aplicaciones Parte I
1.3.1 Introducción a BD en MySQL - Connection, Class.forName
1.3.2 Generar Conexiones a base de datos
1.3.3 Operaciones CRUD con DML: Clases PreparedStatement
1.3.4 Aplicación de registro
1.3.5 Aplicación de mantenimiento I
6. 6
1.3. JDBC, Aplicaciones Parte I
JDBC (Java DataBase Connectivity) es una importante API de Java que define como un cliente accede a una base de
datos. Java proporciona un conjunto de API (es decir, JDBC) para realizar estas actividades con bases de datos. En
otras palabras, “puede usar JDBC para establecer una conexión a una base de datos, ejecutar su consulta SQL y
cerrar la conexión con la base de datos. La belleza de JDBC es que no está escribiendo un programa para una base
de datos específica. JDBC crea un acoplamiento débil entre su programa Java y el tipo de base de datos utilizada”
(Sharma, 2013, p.282).
Figura: JDC
Fuente .- Tomado https://www.testingdocs.com/jdbc-api-components/
7. 7
1.3. JDBC, Aplicaciones Parte I
Figura: JDC Arquitectura
Fuente .- Tomado Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 And 1Z0-805 : A Comprehensive OCPJP 7 Certification Guide (p.282), por
Sharma, Tushar, 2013, Apress L. P.
8. 8
1.3.1 Introducción a BD en MySQL - Connection,
Class.forName
• MySQL es un sistema de gestión de bases de datos relacional basado en código abierto. Actualmente le
pertenece a la empresa Oracle. Existen otras alternativas a MySQL como SQL Server, IBM Db2, PostgreSQL,
MariaDB, Azure SQL Database, etc.
Connection:
• El objeto Connection representa una conexión con una base de datos específica. Una definición más clara nos la
ofrece Sharma: “La interfaz de conexión del paquete java.sql representa una conexión de la aplicación a la base
de datos. Es un canal a través del cual se comunican su aplicación y la base de datos “(Sharma, 2013, p.285)
Class.forName:
• Se encarga de registrar el driver de conexión para la base de datos. Cada base de datos usa uno distinto, en
nuestro caso es MySQL.
9. 9
1.3.1 Introducción a BD en MySQL - Connection,
Class.forName
Figura: Ejemplo de Conexión usando Connection
Fuente .- Tomado de https://dev.mysql.com/
10. 10
1.3.2 Generar Conexiones a base de datos
Figura: Ejemplo de Conexión usando Connection
Fuente .- Tomado de https://dev.mysql.com/
11. 11
1.3.3 Operaciones CRUD con DML: Clases
PreparedStatement
En SQL se cuentan con dos tipos de sentencias para la manipulación de datos:
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
Figura: Ejemplo de Conexión
Fuente .- Elaboración propia
12. 12
1.3.3 Operaciones CRUD con DML: Clases
PreparedStatement
• Entidades
• Interface
• Implementación de la
interface
13. 13
1.3.4 Aplicación de registro
El registro permite almacenar en las tablas el contenido de lo ingresado en los formularios.
Ejemplo, tomando como base la página diseñada anteriormente y su respectiva base de datos:
19. 19
1.3.5 Aplicación de mantenimiento I
En este ejercicio, será conveniente utilizar un Servlet único que, de acuerdo con la opción ingresada por el
botón, realice la acción respectiva.
21. 21
Ejercicio dirigido 1
• De la página registro.jsp desarrollada la clase anterior, vamos a realizar el proceso de registro de los usuarios al
sistema:
• Configuración del sistema
• Paso 1. Interfaces con los métodos:
• Paso 2. Modelo de datos (Clase Usuario)
• Paso 3. Gestión de procesos
• Mejoramos el Servlet, de manera que pueda realizar correctamente el proceso de registro.
22. 22
Ejercicio dirigido 2
• Tomando como base la página registro.jsp realiza una copia con el nombre de actualiza-datos.jsp y realiza la
actualización de datos del usuario:
• Configuración del sistema
• Paso 1. Interfaces con los métodos:
• Paso 2. Modelo de datos (Clase Usuario)
• Paso 3. Gestión de procesos
• Mejoramos el Servlet, de manera que pueda realizar correctamente el proceso.
24. 24
Conclusiones
• La API Java Database Connectivity nos provee herramientas que nos permiten gestionar las diversas operaciones
con base de datos en Java. Las clases que nos permiten conectarnos con la base de datos las tenemos disponibles
en el paquete java.sql.
• A diferencia de aplicaciones de escritorio, en los proyectos web, bastará con colocar las librerías a instalar. Esta
configuración la podemos simplificar si convertimos nuestro proyecto a Maven.
25. 25
Referencias bibliográficas
• Birsan, Valentina (2012). An Introduction to IBM Rational Application Developer : A Guided Tour. MC Press.
• Keith, Mike y Merrick Schincariol (2013). Pro JPA 2, Apress L. P. ProQuest Ebook Central.
• Layka, Vishal (2014). Learn Java for Web Development: Modern Java Web Development. Apress.
26. www.cibertec.edu.pe
SEDE SAN JUAN DE LURIGANCHO
Av. Próceres de la Independencia 3023-3043
San Juan de Lurigancho – Lima
Teléfono: 633-5555
SEDE LIMA CENTRO
Av. Uruguay 514
Cercado – Lima
Teléfono: 419-2900
SEDE BELLAVISTA
Av. Mariscal Oscar R. Benavides 3866 – 4070
(CC Mall Aventura Plaza)
Bellavista – Callao
Teléfono: 633-5555
SEDE AREQUIPA
Av. Porongoche 500
(CC Mall Aventura Plaza)
Paucarpata - Arequipa
Teléfono: (054) 60-3535
GRACIAS
SEDE INDEPENDENCIA
Av. Carlos Izaguirre 233
Independencia – Lima
Teléfono: 633-5555
SEDE BREÑA
Av. Brasil 714 – 792 (CC La Rambla – Piso 3)
Breña – Lima
Teléfono: 633-5555
SEDE TRUJILLO
Calle Borgoño 361
Trujillo
Teléfono: (044) 60-2000