viernes, 1 de abril de 2016

jsf crud

Nuestro proyecto cada vez va tomando más forma, solo faltaría agregar clases al paquete Bean y modificar nuestra vista.
Por ahora esto es lo que tenemos en nuestro proyecto:

Java: Hibernate, JSF Primefaces y MySQL [Parte 3]

Primero añadiremos un bean a nuestro paquete, se llamará personaBean y manejará la vista en la cual gestionaremos nuestra tabla Persona. Para poder crear este bean, le damos clic derecho a nuestro paquete Bean, New -> Other, seleccionamos JavaServer Faces y luego JSF Managed Bean. Como Scope seleccionaremos View.

hibernate

Ahora modificaremos el bean de la siguiente manera: primero crearemos un objeto Persona y luego una lista de objetos persona, a estos objetos les crearemos getters y setters para que puedan ser accedidos desde la vista. Además añadiremos los métodos insertar, modificar, eliminar y mostrar, los cuales accederán a los métodos establecidos en nuestro DAO.

Dentro del constructor personaBean() definir lo siguiente: persona = new Persona() para que deje de ser un objeto nulo.

Primero modificaremos el getPersonas() que devuelve una lista de personas con la siguiente estructura para que se cargue desde la base de datos:

MySQL

Luego crearemos los métodos de los que se hablo anteriormente:

primefaces

Ahora procederemos a eliminar nuestro welcomePrimefaces.xhtml y a modificar nuestro index.xhtml para hacerle una gestión a la tabla persona anteriormente creada.

Para poder agregar componentes en Primefaces es necesario que visiten su página oficial y revisen el showcase, en este showcase se muestran todos los elementos de Primefaces y la forma correcta de usarse, como se puede ver en la página, cada uno de estos usa un bean.

Para acceder al showcase por favor ingresen a este link: Clic aquí.

hibernate tutorial


En nuestro index.xhtml, dentro de las etiquetas <h:body> crearemos un formulario, con la siguiente estructura

hibernate java

Lo que se está haciendo acá es que para cada inputText se le asigna un valor, ese valor es un atributo del objeto de la clase Persona que se encuentra en personaBean, entonces al llenar el campo de texto y apretar el boton de insertar, se mandan esos atributos al objeto del bean.

En nuestra vista, lo que quedaría es lo siguiente:

primefaces java

Entonces, al ingresar una nueva persona, esta quedaría registrada en nuestra base de datos:

Java: Hibernate, JSF Primefaces y MySQL [Parte 3]

Ahora, una vez que ya inserta procederemos a mostrar todas las personas que están registradas en nuestra base de datos. Para esto usaremos un DataTable, la información sobre este componente la pueden encontrar en el showcase que les brindé al inicio de la guía.

Agregaremos el siguiente formulario con el DataTable y las distintas columnas de cada objeto de la clase Persona, como se puede observar, el componente dataTable solicita una lista de objetos, en este caso #{personaBean.personas} y le asigna una variable, en este caso: "per" a cada uno de los registros.

hibernate

Entonces, nuestra vista quedaría de esta forma:

MySQL


Adicionalmente, en el botón del formulario de insertar, se añadirá el siguiente atributo: update=":formMostrar" que hace que mediante Ajax, se actualice la tabla de datos sin necesidad de actualizar la página:

primefaces

Con esto, solo faltaría modificar y eliminar: Agregaremos a la dataTable un campo con un botón de eliminar y otro de modificar:

hibernate tutorial

Y crearemos dos p:dialog, uno para modificar y otro para eliminar como se puede apreciar a continuación:

Para modificar:

hibernate java

La vista quedaría así al dar clic en botón modificar:

primefaces java

Para eliminar:

Java: Hibernate, JSF Primefaces y MySQL [Parte 3]

Y la vista quedaría así al dar clic en eliminar:

hibernate

Con esto concluiría el tutorial, espero que les haya gustado y que hayan podido comprender un poco más sobre hibernate, JSF Primefaces y Mysql. Si tienen alguna duda, pueden dejarla en comentario y responderé en cuanto la vea. Muchas gracias.

3 comentarios:

  1. Muy buen tutorial . !! Muchas grcias :)

    ResponderEliminar
  2. Me lo puedes enviar amigo ? julian.micolta@hotmail.com y saber cual es el script para la bd

    ResponderEliminar