Siguiendo con el aprendizaje de JAVA, en este artículo veremos la estructura para la creación de un CRUD JAVA EE haciendo uso de Hibernate, Primefaces y Mysql en un entorno JAVA WEB o JAVA EE, como primera instancia veamos la estructura que debe tener nuestro proyecto JAVA WEB:
CRUD JAVA EE Hibernate PrimeFaces Mysql
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
También veamos las librerías que necesitaremos para desplegar la aplicación:
A continuación veamos el código para cada uno de los archivos del proyecto, cabe decir que puede que vallas obteniendo errores a causa de la ausencia del código en otros archivos, veamos:
Nuestro archivo WEB.XML
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
< ?xml version=»1.0″ encoding=»UTF-8″?>
<web -app version=»3.0″ xmlns=»http://java.sun.com/xml/ns/javaee» xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» xsi:schemaLocation=»http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd»> <context -param> <param -name/>javax.faces.PROJECT_STAGE <param -value/>Production </context> <servlet> </servlet><servlet -name>Faces Servlet</servlet> <servlet -class>javax.faces.webapp.FacesServlet</servlet> <load -on-startup>1</load> <servlet -mapping> <session -config> <welcome -file-list> <context -param> </web> |
Nuestro archivo principal mostrar.xhtml:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
< ?xml version=’1.0′ encoding=’UTF-8′ ?>
< !DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»> <html xmlns=»http://www.w3.org/1999/xhtml» xmlns:ui=»http://xmlns.jcp.org/jsf/facelets» xmlns:p=»http://primefaces.org/ui» xmlns:h=»http://xmlns.jcp.org/jsf/html» xmlns:f=»http://xmlns.jcp.org/jsf/core»> <body> <p:column headerText=»id»> <p:column headerText=»nombres»> <p:column headerText=»apellidos»> <p:column headerText=»telefono»> <p:column headerText=»ciudad»> <p:column style=»width: 100px»> <f:facet name=»footer»> </p:datatable> </h:form> <h:form id=»frmCreate»> <h:form id=»frmModificar»> <h:outputtext value=»Nombres:»></h:outputtext> <h:outputtext value=»Apellidos»></h:outputtext> <h:outputtext value=»Telefono»></h:outputtext> <h:outputtext value=»Ciudad»></h:outputtext> </h:panelgrid> <p:separator></p:separator> </f:facet> </p:dialog> </h:form> <h:form id=»frmEliminar»> </ui:define> |
Veamos el archivo template.xhtml
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
< ?xml version=’1.0′ encoding=’UTF-8′ ?>
< !DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»> <html xmlns=»http://www.w3.org/1999/xhtml» xmlns:ui=»http://xmlns.jcp.org/jsf/facelets» xmlns:h=»http://xmlns.jcp.org/jsf/html»> <h:head> <h:body> </h:body> </html> |
Ahora estableceremos los parametros de conexión en el archivo hibernate.cfg.xml.
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
< ?xml version=’1.0′ encoding=’utf-8′?>
< !DOCTYPE hibernate-configuration PUBLIC «-//Hibernate/Hibernate Configuration DTD 3.0//EN» «http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd»> <hibernate -configuration> <session -factory> <property name=»hibernate.dialect»>org.hibernate.dialect.MySQLDialect</property> <property name=»hibernate.connection.driver_class»>com.mysql.jdbc.Driver</property> <property name=»hibernate.connection.url»>jdbc:mysql://localhost:3306/personas</property> <property name=»hibernate.connection.username»>root</property> <property name=»hibernate.connection.password»></property> <property name=»hibernate.show_sql»>true</property> <property name=»hibernate.current_session_context_class»>thread</property> <mapping class=»entidades.Prueba»></mapping> </session> </hibernate> |
Posteriormente mediante el archivo hibernate.reveng.xml se mapea la base de datos y nuestra tabla:
1
2 3 4 5 6 |
< ?xml version=»1.0″ encoding=»UTF-8″?>
< !DOCTYPE hibernate-reverse-engineering PUBLIC «-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN» «http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd»> <hibernate -reverse-engineering> <schema -selection match-catalog=»personas»></schema> <table -filter match-name=»usuarios»></table> </hibernate> |
Ahora el archivo PruebaBean donde se encuentran las acciones a realizar. como la búsqueda de registros, actualización, eliminación y creación:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
/*
* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package bean; import dao.pruebaDAO; /** /** public Prueba getSelectPrueba() { public void setSelectPrueba(Prueba selectPrueba) { public List</prueba><prueba> getPrueba() { public void setPrueba(List</prueba><prueba> prueba) { } |
Nuestra interface mediante el archivo pruebaDAO:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
/*
* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package dao; import entidades.Prueba; /** |
Ahora nuestra entidad (Tabla de la base de datos) mapeada, con estos valores pueden crear la estructura de la tabla en su BD:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
/*
* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package entidades; import javax.persistence.Column; /** private String nombres; public Prueba(){ } public Integer getId() { public void setId(Integer id) { public String getNombres() { public void setNombres(String nombres) { public String getApellidos() { public void setApellidos(String apellidos) { public String getTelefono() { public void setTelefono(String telefono) { public String getCiudad() { public void setCiudad(String ciudad) { |
Implementamos todos los métodos haciendo uso del archivo PruebaDaoImpl:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
/*
* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package impl; import dao.pruebaDAO; /** @Override @Override @Override @Override } |
Ahora nuestro HibernateUtil, si usas netbeans puedes generarlo dando clic sobre la carpeta Web Pages, seleccionas nuevo, a continuación otro y en la sección Hibernate Encontraras HibernateUtil:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
/*
* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package util; import org.hibernate.cfg.AnnotationConfiguration; /** private static final SessionFactory sessionFactory; static { public static SessionFactory getSessionFactory() { |
Luego podemos realizar el deploy de la aplicación haciendo clic derecho sobre el proyecto y a continuación delpoy, con lo cual estará lista para ver desde nuestro navegador en mi caso:
http://localhost:8080/CRUD/
Obteniendo como resultado una interfaz como la expuesta al principio del artículo, cualquier duda no olvides dejarla en los comentarios.
Hasta pronto!.