Tutorial CRUD MVC en Java y MySQL

En nuestro canal de Youtube tenemos un vídeo donde desarrollamos un programa en Java realizando las principales transacciones a base de datos usando la arquitectura Modelo Vista Controlador (MVC). Para el almacenamiento de información se utiliza MySQL, en un tabla de productos.

Requerimientos

  • JDK 8.0 o superior
  • MySQL 5.7 o superior
  • Connector/J 8.0

El proyecto se desarrollo en Apache Netbeans.

Crear base de datos

Aquí la estructura de la base de datos y tabla.

Crear proyecto

El proyecto lo hemos desarrollado en el IDE Netbeans actualmente Apache Netbeans. Creamos un proyecto de tipo Java Application y agregamos los siguientes paquetes, clases y formulario:

  • Paquete Controlador
    • Clase CtrlProducto.java
  • Paquete Modelo
    • Clase Conexion.java
    • Clase ConsultasProducto.java
    • Clase Producto.java
  • Paquete Vista
    • JFrame frmProducto.java
  • Paquete crudmvc (paquete predefinido)
    • Clase CRUDMVC.java (clase principal)

Hemos creado el proyecto con nombre CRUDMVC por lo cual el nombre del paquete predefinido y clase principal será el nombre del proyecto.

Conexión a MySQL

Para conectar Java con MySQL se necesita un controlador JDBC compatible entre la versión JDK y MySQL. Descargar Connector/J.

Después de descargar el controlador vamos al proyecto y damos clic derecho en la carpeta Libraries y seleccionamos Add JAR/Folder, buscamos el controlador .jar y lo agregamos.

Clase Conexion

Dentro del paquete Modelo abrimos la clase Conexion.java y agregamos el siguiente código:

Esta clase nos permite conectarnos a MySQL, debes cambiar los valores de las variables base, url, user y password correspondientes a tus datos que configuraste en la instalación de MySQL.

Mapeo de datos

Para transformar los atributos de la tabla producto a objetos y usarlos con facilidad necesitamos hacer un mapeo dentro de la clase Producto.java que está en el paquete Modelo. Definimos los atributos generando sus getters y setters.

Métodos CRUD

Después de realizar la conexión a MySQL y mapear los datos crearemos los métodos para las transacciones básicas; Registrar, Leer o Buscar, Modificar y Eliminar. Dentro del paquete Modelo abrimos la clase ConsultasProducto.java y agregamos el siguiente código:

Esta clase hereda de la clase Conexion.java, los métodos reciben un objeto de tipo Producto.

Diseño de la vista

Dentro del paquete Vista abrimos el JFrame frmProducto y agregamos el siguiente diseño:

Descripción de los elementos

ElementoTextoVariableAcceso
JLabelCódigoPredefinidaPredefinida
JLabelNombrePredefinidaPredefinida
JLabelPrecioPredefinidaPredefinida
JLabelCantidadPredefinidaPredefinida
JTextFieldtxtCodigopublic
JTextFieldtxtNombrepublic
JTextFieldtxtPreciopublic
JTextFieldtxtCantidadpublic
JTextFieldtxtIdpublic
JButtonBuscarbtnBuscarpublic
JButtonGuardarbtnGuardarpublic
JButtonModificarbtnModificarpublic
JButtonEliminarbtnEliminarpublic
JButtonLimpiarbtnLimpiarpublic

Los elementos que hemos agregamos con acceso publico serán necesarios para acceder a ellos desde el controlador.

Controlador

Para que la vista pueda interactuar con el modelo usaremos la clase CtrlProducto.java que se encuentra dentro del paquete Controlador. Con esto terminas aplicando la arquitectura MVC.

Esta clase implementa la interfaz ActionListener la cual se usa para detectar y manejar eventos de acción, como el clic en los botones.

Ejecutar proyecto CRUD

Para ejecutar el proyecto se requiere una clase principal para llamar al controlador y este a su vez enlazar la vista con el modelo. La clase CRUDMVC.java se encuentra dentro del paquete predefinido que comúnmente tiene el mismo nombre del proyecto.

Después de agregar el código anterior podemos dar clic derecho dentro de la clase y seleccionar Run File para ejecutar el proyecto.

Resultado

Puedes crear tu propio diseño, quitar o agregar campos al formulario y adaptarlo a tus necesidades.

Bonus

Si quieres una explicación más detallada sobre este proyecto puedes ver el siguiente vídeo:

También puedes ver y descargar el proyecto desde GitHub: https://github.com/mroblesdev/CRUD-MVC-Java-MySQL

Si está en tus posibilidades puedes invitarme un café ☕, una cerveza 🍺 o realizar una donación 🎁 vía Paypal https://www.paypal.com/paypalme/markorobles

Espero que este tutorial te haya servido, nos vemos hasta la próxima.