Introduccion Conexion BD - eliizquierdo/material_programacion_avanzada2026 GitHub Wiki

📦 Proyecto: mini-crud-sql (Tema 3 — JDBC + MySQL) — ⬇️ Descargar ZIP · ☁️ Abrir en Codespace

Conectando Java con MySQL

En este tutorial vamos a explorar cómo establecer la conexión entre Java y MySQL a nivel introductorio. Desarrollaremos un proyecto que nos permitirá ver la interacción directa entre estos dos programas fundamentales en el desarrollo de aplicaciones.

Introducción

Vamos a crear una base sólida desde donde experimentar con ejemplos prácticos. No nos enfocaremos tanto en la presentación de la información, los tipos de datos optimizados o la eficiencia del código en esta primera aproximación. Nuestro objetivo principal será comprender los conceptos fundamentales.

La API que utilizaremos para conectar programas Java con bases de datos se llama JDBC (Java Data Base Connectivity) y la encontraremos dentro del paquete java.sql.

Nota: Una API (Application Programming Interface) es un conjunto de definiciones, protocolos y herramientas que nos permite construir software de aplicación. En términos simples, una API especifica cómo diferentes componentes de software deben interactuar entre sí. En el caso de JDBC, es la API estándar de Java que define cómo los programas Java pueden comunicarse con bases de datos, proporcionándonos clases e interfaces como Connection, Statement, ResultSet, etc.

JDBC funciona esencialmente como un driver que conecta una aplicación con un Sistema Gestor de Bases de Datos. Vamos a analizar sus funciones principales:

  • Establece conexión con la BD
  • Permite manipular la BD

Los drivers son provistos por los mismos fabricantes de las bases de datos, en nuestro caso necesitaremos el conector específico de MySQL.

Requisitos que vamos a necesitar

Antes de comenzar, tendremos que preparar nuestro entorno de desarrollo:

  1. Ambiente de desarrollo (utilizaremos Visual Studio Code)
  2. JDK instalado
  3. MySQL instalado
  4. Proyecto Maven MVC ya desarrollado (el ejemplo básico con PersonaVO, PersonaDAO y PersonaControladorServlet)
  5. Dependencia del conector MySQL en el archivo pom.xml:
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.4.0</version>
</dependency>

La aplicación que vamos a desarrollar

Partiremos del proyecto MVC básico que ya desarrollamos anteriormente, donde tenemos:

  • PersonaVO (modelo de datos)
  • PersonaDAO (operaciones en memoria)
  • PersonaControladorServlet (controlador)
  • JSPs para vistas (formulario y listado)

Vamos a modificar este proyecto para que en lugar de almacenar los datos en memoria (ArrayList), los almacene en una base de datos MySQL. Para esto:

  1. Modificaremos la clase PersonaDAO existente para que use JDBC en lugar de ArrayList
  2. Agregaremos una nueva clase Conexion en el paquete modelo.conexion
  3. Mantendremos la misma interfaz de PersonaDAO (agregar, getLista, etc.) para que no sea necesario cambiar el controlador ni las vistas

De esta manera aplicaremos el principio de responsabilidad única: la clase Conexion manejará la conexión a la base de datos, mientras que PersonaDAO manejará las operaciones CRUD usando esa conexión.

La Base de Datos que vamos a crear

Crearemos una base de datos llamada institutoWeb que tendrá la tabla personas con los campos que corresponden a nuestro PersonaVO (codigo y nombre). El script para la creación será el siguiente:

/********************************/
CREATE database institutoWeb;
USE institutoWeb;

CREATE TABLE personas (
  codigo INT(8),
  nombre VARCHAR(10) NOT NULL,
  PRIMARY KEY (codigo) 
);

-- Insertamos algunos datos de prueba
INSERT INTO personas (codigo, nombre) VALUES 
(1, 'Juan'),
(2, 'María'),
(3, 'Carlos');
/********************************/

Nota: El campo codigo es la clave primaria de la tabla y será ingresado manualmente por el usuario a través del formulario web, tal como está diseñado en la vista del proyecto MVC.

Modificaciones al proyecto existente

Partiendo del proyecto MVC que ya tenemos con la siguiente estructura:

proyecto-mvc/
├── pom.xml
└── src/
    └── main/
        ├── java/
        │   ├── modelo/
        │   │   ├── vo/
        │   │   │   └── PersonaVO.java
        │   │   └── dao/
        │   │       └── PersonaDAO.java
        │   └── controlador/
        │       └── PersonaControladorServlet.java
        └── webapp/
            ├── index.jsp
            ├── WEB-INF/vista/
            │            ├── persona-editar.jsp
            │            ├── persona-form.jsp
            │            └── persona-lista.jsp
            └── css/
                └── styles.css

Vamos a añadir:

  1. Un nuevo paquete: modelo.conexion donde ubicaremos la clase Conexion
  2. Modificar: modelo.dao.PersonaDAO para usar JDBC en lugar de ArrayList
  3. Mantener: Toda la capa de vista y controlador sin cambios

La estructura final quedará así:

proyecto-mvc/
├── pom.xml       <— (con dependencia MySQL añadida)
└── src/
    └── main/
        ├── java/
        │   ├── modelo/
        │   │   ├── vo/
        │   │   │   └── PersonaVO.java
        │   │   ├── dao/
        │   │   │   └── PersonaDAO.java   <—(modificado para JDBC)
        │   │   └──  conexion/
        │   │       └── Conexion.java    <—(nuevo)
        │   └── controlador/
        │       └── PersonaControladorServlet.java
        └── webapp/
            ├── index.jsp
            ├── WEB-INF/vista/
            │            ├── persona-editar.jsp
            │            ├── persona-form.jsp
            │            └── persona-lista.jsp
            └── css/
                └── styles.css

Cómo configurar la dependencia MySQL en nuestro proyecto Maven

Para añadir el conector MySQL a nuestro proyecto, agregaremos la siguiente dependencia al archivo pom.xml:

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.4.0</version>
</dependency>

Una vez que guardemos el archivo pom.xml, Maven descargará automáticamente el conector MySQL y lo añadirá al classpath del proyecto.

Una vez completado este paso, tendremos todo listo para comenzar a codificar.

Capa de persistencia

Para establecer la conexión con la BD crearemos un objeto de la clase Conexion.

Continuamos por la clase Conexion MODELO-Conexion


📋 Palabras clave

JDBC · Java Database Connectivity · MySQL · mysql-connector-j · pom.xml · institutoWeb · tabla personas · PersonaVO · PersonaDAO · Conexion · arquitectura MVC + BD · persistencia


🧠 Autoevaluación — Arquitectura completa BD + Web


← Comparativa persona-form.jsp · 🏠 Inicio · Clase Conexion →

⚠️ **GitHub.com Fallback** ⚠️