Saltar la navegación

5.5.- Enlace de componentes a orígenes de datos.

Caso práctico

Ana y María están muy satisfechas del trabajo realizado, sin embargo, se han dado cuenta de que éste no ha hecho más que empezar. El hotel para el que están creando la aplicación es una empresa que maneja grandes cantidades de información sobre sus empleados, proveedores y clientes y si quieren crear una aplicación de calidad será imprescindible que las interfaces que están creando puedan conectarse a la base de datos del hotel para recuperar, añadir y eliminar información. Así que se ponen manos a la obra para aprender a conectar los componentes a una base de datos.

Imagen de María, una de las protagonistas de nuestros casos prácticos.
Ministerio de Educación y Formación Profesional (Elaboración propia)



Uno de los aspectos que aporta mayor flexibilidad y potencia a una aplicación es que pueda acceder a la información contenida en una base de datos.

Debes conocer

Para poder seguir los contenidos de este punto es imprescindible que tengas conocimientos básicos de MySQL, puesto que es necesario que lo tengas instalado y que crees una base de datos para hacer el ejemplo. En estos enlaces tienes toda la información acerca de MySQL y de la herramienta XAMPP, que además de MySQL instala el servidor web Apache, PHP y la herramienta phpmyadmin para gestionar MySQL en modo gráfico.

Página oficial de MySql.

Página oficial de XAMPP.

Ilustración de una captura de pantalla que muestra la manera diseñar  un base de datos sencilla utilizando NetBeans incluyendo nombre y ciudad de los usuarios que se van a almacenar en esa base de datos.
Montaña Martín Vergel (Elaboración propia)

Los pasos a dar para conseguir que una aplicación java, utilizando NetBeans, incorpore un formulario basándose en los datos almacenados en una tabla de una base de datos son:

  1. Nos aseguramos de tener instalado mysql y que se encuentra en ejecución. A continuación, crearemos la base de datos. La base de datos que vamos a utilizar se llamará Agenda. Puedes importar la estructura de la base de datos junto con sus datos utilizando el fichero que encontrarás en apartado Recursos que aparece al final de la página (BD_agenda.sql)
    Recomendación: Antes de comenzar a crear el proyecto en NetBeans, accede al apartado Services o Prestaciones y comprueba que podemos ver que aparece Servidor Mysql y que podemos acceder a la base de datos Agenda. En el caso de que no aparezca debes de registrar servidor Mysql e iniciarlo (para ello accedemos al menú contextual de la opción Base de datos y realizamos las dos acciones.)
  2. Crearemos un nuevo proyecto NetBeans de tipo Java Application que se llame Agenda. No crearemos clase principal al crearlo. Añadimos un paquete para almacenar todas las clases que se van a generar de forma automática. Se va a llamar sources y lo vamos a crear dentro de Paquete de fuentes. Añadimos un Formulario de ejemplo/detalle que podemos encontrarnos dentro de la categoría Formularios de interfaz gráfica de Swing.  Le asignaremos el nombre Contactos.
  3. A continuación, nos pedirá el acceso a la base de datos. En la conexión con la base de datos marcamos la cadena de conexión jdbc:mysl...... que nos aparecerá en el desplegable. Si no nos apareciera nuestra conexión con MySQL, este desplegable nos permite crear una conexión nueva. En el apartado Tabla de base de datos, seleccionamos la tabla Contactos y en el apartado Campos a incluir nos aseguramos de tener incluido las columnas que queremos utilizar en el formulario.
  4. En el apartado Crear área de detalle como  seleccionaremos la opción cuadro de texto.
  5. Finaliza el asistente pulsando Terminar, en el formulario Agenda aparecerán una tabla para mostrar el resultado de la consulta.

Si seleccionas la tabla que ha aparecido en el formulario y observas el Inspector verás que se llama masterTable (Jtable). Esta tabla en concreto tiene tres columnas y se le asigna contenido a partir de un elemento, que también puedes ver más abajo en el Inspector llamado list (JList) que se rellena a partir de una consulta llamada Query (Jquery), en cuyas propiedades aparece la consulta ejecutada que es Select c from contactos c. Haz clic con el botón secundario sobre la tabla >> Enlazar >> Elements, verás cómo enlaza con la lista y como se obtienen de ella los tres campos de la tabla.

Por otra parte, se han añadido tres etiquetas y tres campos de texto al formulario, los campos de texto enlazan (botón secundario >> Enlazar >> Text) con la tabla maestra en el enlazado de fuente de donde se saca el valor del campo del registro actual mediante la expresión ${SelectedElement.nombre_campo} de esta manera cada vez que se cambia el registro activo de la tabla se modifica el contenido de los campos de texto.

Debes conocer

Puedes descargar la estructura y los datos de la base de datos que vamos a utilizar, e importarlo en Mysql utilizando el siguiente fichero: BD_agenda.sql (zip - 866 B)