jeanCedron
Usuario (Perú)
Paso a paso: Creando un proyecto Java con patrón MVC Nota: Todo el contenido es de mi autoría Para volver a la segunda parte del tutorial, en caso aún no lo hayan leído, pueden usar el siguiente link: CLIC AQUI 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: 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. 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: Luego crearemos los métodos de los que se hablo anteriormente: 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í. En nuestro index.xhtml, dentro de las etiquetas <h:body> crearemos un formulario, con la siguiente estructura 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: Entonces, al ingresar una nueva persona, esta quedaría registrada en nuestra base de datos: 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. Entonces, nuestra vista quedaría de esta forma: 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: Con esto, solo faltaría modificar y eliminar: Agregaremos a la dataTable un campo con un botón de eliminar y otro de modificar: Y crearemos dos p:dialog, uno para modificar y otro para eliminar como se puede apreciar a continuación: Para modificar: La vista quedaría así al dar clic en botón modificar: Para eliminar: Y la vista quedaría así al dar clic en eliminar: 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. Jean Pierre Cedrón
![Java: Hibernate, JSF Primefaces y MySQL [Parte 2]](https://storage.posteamelo.com/assets-adonis/assets/2014/05/29/108.png-t_Duf9Lzbd7.webp)
Paso a paso: Creando un proyecto Java con patrón MVC Nota: Todo el contenido es de mi autoría Esta es la segunda parte del tutorial que estoy desarrollando. Si desean ver la primera parte pueden entrar a este enlace: . En el post anterior habíamos terminado de armar nuestro proyecto quedando de esta forma: Antes de continuar, modificaremos nuestro hibernate.cfg.xml y añadiremos hibernate.show_sql = true y hibernate.current_session_context_class = thread en el diseño. quedando de esta forma: Ahora continuaremos con la estructura de nuestro proyecto, esta vez agregaremos las clases para poder interactuar con nuestra base de datos. Empezaremos por el paquete persistencia. Lo primero que haremos es ir al paquete persistencia, clic derecho y luego a New -> Other. En esta ventana seleccionamos Hibernate y creamos un HibernateUtil. Dejaremos el nombre como viene "NewHibernateUtil" y daremos clic en finalizar. Dentro de la clase creada, modificaremos una línea y agregaremos dentro del método configure() la ubicación de nuestro hibernate.cfg.xml, en este caso "/Persistencia/hibernate.cfg.xml" quedando de la siguiente manera: De la misma manera como creamos el HibernateUtil, procederemos a crear el Hibernate Revenge Engineering Wizard, dejaremos seleccionado por defecto el Configuration file, y damos clic en Add all>> para poder agregar la tabla persona a nuestro proyecto. Con esto finalizamos y procedemos a continuar con el paquete Model. El paquete model como se mencionó en el post anterior tiene las tablas en clase java y en archivo xml que usa hibernate para poder acceder a los registros. Aquí, de la misma forma como creamos los archivos anteriores, crearemos Hibernate Mapping Files and POJO's from Database. Damos clic en Next y seleccionamos JDK 5 Language Features como se puede apreciar en la siguiente imagen: Si revisamos la clase persona, nos daremos cuenta que es un mapeo exacto de nuestra base de datos, con un campo String nombre y apellido y un Integer idPersona. Ahora continuaremos con el DAO, dentro de este paquete está todo lo necesario para acceder a nuestra base de datos y hacer diferentes transacciones, Dentro de este paquete crearemos un PersonaDao que será una interfaz con los métodos de acceso y una clase llamada PersonaDaoImplement que implementará la interfaz PersonaDao. Acá se puede ver una estructura de la clase PersonaDao, como se observa, el mostrarPersonas devuelve una lista de objetos Persona, y el insertar, modificar y eliminar necesita como parámetro una persona a la cual modificar, eliminar o insertar valga la redundancia. Luego, haremos la clase PersonaDaoImplement en la cual haremos implements a la clase PersonaDao y procederemos a modificar los métodos de acceso. Ahora modificaremos los distintos métodos: Nuestro método mostrarPersonas quedará de la siguiente manera: Lo que se hace en este método es crear una Session de tipo hibernate accediendo a nuestro HibernateUtil y creamos una query que devuelve todos los registros de la tabla Persona. El lenguaje que usan nuestras queries de Hibernate se llama HQL. Por último llenamos una lista de objetos Persona con el resultado de la query. No se olviden de poner el manejo de excepciones en cada uno de nuestros métodos de acceso a la base de datos. Nuestro método de insertar, al igual que el de modificar y eliminar solo variará en la acción de transacción que se realiza: save, update y delete. El formato es muy parecido: Como se dijo, los otros dos métodos son muy similares: Con esto concluimos la segunda parte, para la tercera parte del tutorial se estará viendo la forma para mostrar, insertar, modificar y eliminar los registros de la tabla Persona. Para continuar con el tutorial, por favor visitar el siguiente link: