Anda di halaman 1dari 14

Mantenimiento de Alumnos en Jsf Mantenimiento de Articulo Alumnos jsf Mantenimiento de Articulo de alumnos

En esta primera ejemplo mostrar dataTable para mostrar registros para poder manipular informacin

1. Ambiente de desarrollo - JDK v1.6.0.27 - Netbeans v7.1.2 - MySql v5.1.61 - Apache tomcat 7 Crear una clase llamado Alumno
public class Alumno { private Integer id; private String dni; private String paterno; private String materno; private String nombres; private String direccion; private String telefono; private String correo; public Alumno() { } Crear el get y set

Crear una clase llamado AlumnoDao


public class AlumnoDao { private SqlSessionFactory sqlSessionFactory; public AlumnoDao() { sqlSessionFactory = MyBatisConnectionFactory.getSqlSessionFactory(); } public void insertar (Alumno alumno){ SqlSession session = sqlSessionFactory.openSession(); try { session.insert("Alumno.insertar", alumno); session.commit(); } catch (Exception e) { System.out.println("Error en AlumnoDao>insertar: " + e.getMessage()); session.rollback(); }finally{ session.close(); } } public void actualizar (Alumno alumno){

SqlSession session = sqlSessionFactory.openSession(); try { session.insert("Alumno.actualizar", alumno); session.commit(); } catch (Exception e) { System.out.println("Error en AlumnoDao>actualizar: " + e.getMessage()); session.rollback(); }finally{ session.close(); } } public Alumno buscarPorId(Integer id) { SqlSession session = sqlSessionFactory.openSession(); try { Alumno alumno = session.selectOne("Alumno.buscarPorId", id); return alumno; } catch (Exception e) { System.out.println("Error en AlumnoDao>buscarPorId: " + e.getMessage()); return null; }finally{ session.close(); } } public List<Alumno> buscarTodos() { SqlSession session = sqlSessionFactory.openSession(); try { List<Alumno> alumnos = session.selectList("Alumno.buscarTodos"); return alumnos; } catch (Exception e) { System.out.println("Error en AlumnoDao>buscarTodos: " + e.getMessage()); return null; } finally { session.close(); } } public void eliminar(Integer id) { SqlSession session = sqlSessionFactory.openSession(); try { session.delete("Alumno.eliminar", id); session.commit(); } catch (Exception e) { System.out.println("Error en AlumnoDao>eliminar: "+e.getMessage()); session.rollback(); } finally { session.close(); } } }

Crear una clase llamado AlumnoBean


public class AlumnoBean implements Serializable { private private private private static final long serialVersionUID = 1L; Alumno alumno; List<Alumno> alumnos; AlumnoDao alumnoDao;

public AlumnoBean() { alumno = new Alumno(); } public Alumno getAlumno() { return alumno; } public void setAlumno(Alumno alumno) { this.alumno = alumno; } public List<Alumno> getAlumnos() { alumnoDao = new AlumnoDao(); alumnos = alumnoDao.buscarTodos(); return alumnos; } public void prepararInsertar() { System.out.println("preparar Insertar"); alumno = new Alumno(); } public void insertar() { alumnoDao = new AlumnoDao(); alumnoDao.insertar(alumno); FacesUtils.showFacesMessage("Alumno insertado exitosamente.", 3); System.out.println("Datos insertados"); } public void prepararActualizar(Integer id) { System.out.println("Dentro Actualizar"); alumnoDao = new AlumnoDao(); alumno = alumnoDao.buscarPorId(id); } public void actualizar() { System.out.println("Actualizar"); alumnoDao = new AlumnoDao(); alumnoDao.actualizar(alumno); FacesUtils.showFacesMessage("Alumno actualizado exitosamente.", 3); } public void prepararEliminar(Integer id) { System.out.println("preparar eliminar"); alumnoDao = new AlumnoDao(); alumno = alumnoDao.buscarPorId(id); }

public void eliminar() { System.out.println("eliminado"); alumnoDao = new AlumnoDao(); alumnoDao.eliminar(alumno.getId()); FacesUtils.showFacesMessage("Alumno eliminado exitosamente.", 3); }

Crear un formulario con xhtml con nombre usuario


<h:form id="form"> <p:messages showSummary="true" showDetail="true"/> <p:panel id="panel" header="Mantenimiento de Alumnos" style="marginbottom:10px; "> <h:panelGrid id="growlEditar" columns="4"> <h:outputLabel style="margin-left: 5px;" id="textDni" for="dni" value="(*)Dni: " /> <p:inputText id="dni" value="#{alumnoBean.alumno.dni}" style="width:228px; margin: 10px 5px 5px 5px" required="true" label="titulo" requiredMessage="Paterno: campo obligatorio"> <f:validateLength minimum="8" maximum="8" /> </p:inputText> <h:outputLabel style="margin-left: 5px;" id="textPaterno" for="paterno" value="(*)Paterno: " /> <p:inputText id="paterno" value="#{alumnoBean.alumno.paterno}" style="width:228px; margin: 10px 5px 5px 5px" required="true" label="titulo" requiredMessage="Paterno: campo obligatorio"> <f:validateLength minimum="6" maximum="50" /> </p:inputText> <h:outputLabel style="margin-left: 5px;" id="textMaterno" for="materno" value="(*)Materno: " /> <p:inputText id="materno" value="#{alumnoBean.alumno.materno}" style="width:228px; margin: 10px 5px 5px 5px" required="true" label="titulo" requiredMessage="Materno: campo obligatorio"> <f:validateLength minimum="6" maximum="50" /> </p:inputText> <h:outputLabel style="margin-left: 5px;" id="textNombres" for="nombres" value="(*)Nombres: " /> <p:inputText id="nombres" value="#{alumnoBean.alumno.nombres}" style="width:228px; margin: 10px 5px 5px 5px" required="true" label="titulo" requiredMessage="Nombres: campo obligatorio"> <f:validateLength minimum="6" maximum="50" /> </p:inputText> <h:outputLabel style="margin-left: 5px;" id="textDireccion" for="direccion" value="(*)Direccion: " /> <p:inputText id="direccion" value="#{alumnoBean.alumno.direccion}" style="width:228px; margin: 10px 5px 5px 5px" required="true" label="titulo" requiredMessage="Direccion: campo obligatorio"> <f:validateLength minimum="6" maximum="50" /> </p:inputText> <h:outputLabel style="margin-left: 5px;" id="textTelefono" for="telefono" value="(*)telefono: " /> <p:inputText id="telefono" value="#{alumnoBean.alumno.telefono}" style="width:228px; margin: 10px 5px 5px 5px" required="true" label="titulo" requiredMessage="Telefono: campo obligatorio"> <f:validateLength minimum="6" maximum="50" /> </p:inputText> <h:outputLabel style="margin-left: 5px;" for="correo"

value="(*)Correo: " /> <p:inputText id="correo" value="#{alumnoBean.alumno.correo}" style="width:228px; margin: 5px 5px 10px" required="true" validatorMessage="Correo incorrecto" label="correo" requiredMessage="Correo: campo obligatorio"> <f:validateLength maximum="100" /> <f:validateRegex pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zAZ\.]*[a-zA-Z]" /> </p:inputText> </h:panelGrid> </p:panel>

<p:commandButton style="marginleft: 10px;" value="Nuevo"update=":form" actionListener="#{alumnoBean. limpiar}" /> <p:commandButton style="marginleft: 10px;" value="Guardar"update=":formdata" actionListener="#{alumn oBean.insertar}"/> <p:commandButton style="marginleft: 10px;" value="Modificar"update=":formdata" actionListener="#{alu mnoBean.actualizar}"/> <p:separator /> <p:spacer height="20" /> </h:form> <h:form id="formdata"> <p:dataTable id="dataTable" var="t" value="#{alumnoBean.alumnos}" emptyMessage="No hay usuarios disponibles." paginator="true" rows="10" paginatorPosition="bottom" paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15"> <p:column headerText="Id"> <h:outputText value="#{t.id}" /> </p:column> <p:column headerText="Dni"> <h:outputText value="#{t.dni}" /> </p:column> <p:column headerText="Paterno" style="width:25%;"> <h:outputText value="#{t.paterno}" /> </p:column> <p:column headerText="Materno" style="width:25%;"> <h:outputText value="#{t.materno}" /> </p:column> <p:column headerText="Nombre" style="width:25%;"> <h:outputText value="#{t.nombres}" /> </p:column> <p:column headerText="Direccion" style="width:75%;"> <h:outputText value="#{t.direccion}" /> </p:column> <p:column headerText="Telefono" style="width:75%;"> <h:outputText value="#{t.telefono}" /> </p:column> <p:column headerText="Correo" style="width:75%;"> <h:outputText value="#{t.correo}" /> </p:column> <p:column headerText="M" style="width:75%; text-align:center;">

<p:commandButton update=":form:growlEditar" actionListener="#{alumnoBean.prepararActualizar(t.id)}" title="Editar" icon="ui-icon-pencil" /> </p:column> <p:column headerText="M" style="width:5%; text-align:center;"> <p:commandButton actionListener="#{alumnoBean.prepararEliminar(t.id)}" oncomplete="dlgEliminar.show();" title="Eliminar" icon="ui-icon-close"> </p:commandButton> </p:column> </p:dataTable> </h:form> <h:form id="formEliminar"> <p:growl id="growlEliminar" sticky="true" /> <p:confirmDialog id="dlgEliminar" message="Desea eliminar este Alumno?" header="Eliminar Integrante" severity="alert" widgetVar="dlgEliminar"> <p:commandButton value="Eliminar" update=":formdata:dataTable growlEliminar, dlgEliminar" actionListener="#{alumnoBean.eliminar}" oncomplete="dlgEliminar.hide()" icon="icon-delete" /> <p:commandButton value="Cancelar" update=":formdata:dataTable" oncomplete="dlgEliminar.hide()" icon="icon-cancel" /> </p:confirmDialog> </h:form>

Resultado

Publicado por Erasmo saavedra robles en 12:00

Buscar Registro en Primefaces con mybatis


Crear una clase

public class Perfil {

private Integer id; private String descripcion;

public Perfil() {}

// get y set }

Crear PerfilDao

public List<Perfil> buscarPerfilPorBusqueda(Perfil perfil) { SqlSession session = sqlSessionFactory.openSession(); try { List<Perfil> perfils = session.selectList("Perfil.buscarPerfilPorBusqueda",perfil); return perfils; } catch (Exception e) { System.out.println("Error en PerfilDao>buscarPerfilPorBusqueda: "+e.getMessage()); return null; } finally { session.close(); }

Crear ManagedBean llamanada PerfilBean

public void buscarPerfilPorBusqueda() { System.out.println("dentro de busqueda "); perfilDao = new PerfilDao(); perfilPorBusqueda =perfilDao.buscarPerfilPorBusqueda(perfilBusca do); }

public List<Perfil> getPerfilPorBusqueda() { return perfilPorBusqueda; }

public void setPerfilPorBusqueda(List<Perfil> perfilPorBusqueda) { this.perfilPorBusqueda = perfilPorBusqueda; }

Codigo de XHTML

<!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://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"

xmlns:p="http://primefaces.org/ui">

<ui:composition template="/WEB-INF/plantillas/plantilla.xhtml"> <ui:define name="contenido">

<h:form style="margin-bottom: 8px"> <p:commandButton actionListener="#{perfilBean.prepar arInsertar}" update=":formNuevo:pgNuevo"oncomplete="dlgNuev o.show();" value="Nuevo Perfil" icon="icon-add"> </p:commandButton> </h:form> <h:form style="margin-bottom: 8px"> <p:commandButton action="#{perfilBean.imprimir()}"va lue="Reporte" icon="icon-report" ajax="false"> </p:commandButton> </h:form>

<h:form id="formBusqueda"> <p:growl id="growlBusquedaClientes" /> <p:tab id="clientes" title="Clientes"> <p:panel header="Bsqueda de Perfil"> <h:panelGrid columns="6">

<h:outputLabel value="Id "/> <p:inputText value="#{perfilBean.perfilBuscado.id}"/> <h:outputLabel value="Descripcion"/> <p:inputText value="#{perfilBean.perfilBuscado.descrip cion}" style="width: 400px" />

</h:panelGrid> <p:separator/> <p:commandButton value="Buscar" actionListener="#{perfilBean.buscarPerfilPorBusqueda}" update=":formLista:dataTable" icon="icon-disk" /> </p:panel> </p:tab>

</h:form> <h:form id="formNuevo"> <p:dialog header="Nuevo Usuario" widgetVar="dlgNuevo" resizable="false" id="dlgNuevo" modal="true"> <p:growl id="growlNuevo" sticky="true"life="10 00" /> <h:panelGrid id="pgNuevo" columns="2"cellspaci ng="8" style="margin:0 auto;"> <h:outputText value="descripcion" /> <p:inputText value="#{perfilBean.perfil.d escripcion}" style="width: 400px" /> </h:panelGrid> <p:separator /> <p:commandButton value="Guardar" actionListener="#{perfilBean.insertar}" update=":formLista:dataTable, growlNuevo, dlgNuevo" oncomplete="dlgNuevo.hide()" icon="icondisk" /> <p:commandButton value="Cancelar"update=":form Lista:dataTable"

oncomplete="dlgNuevo.hide()" icon="iconcancel" /> </p:dialog> </h:form>

<h:form id="formLista"> <p:growl id="growlBusquedaClientes" />

<p:tab id="clientes" title="Clientes"> <p:panel header="Resultados de la Busqueda"> <p:dataTable id="dataTable" var="u" value="#{p erfilBean.perfilPorBusqueda}" emptyMessage="No hay Perfil disponibles."paginator="true" rows="10" paginatorPosition="bottom" paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15"> <p:column headerText="Id"> <h:outputText value="#{u.id}" /> </p:column>

<p:column headerText="Descripcion"> <h:outputText value="#{u.descripcion}" /> </p:column>

<p:column style="text-align: center"> <p:commandButton disabled="#{(u.id==1) ? true : false}" update=":formEditar:pgEditar" actionListener="#{perfilBean.prepararActualizar(u.id)}"

oncomplete="dlgEditar.show();"title ="Editar" icon="icon-edit" /> <p:commandButton disabled="#{(u.id==1) ? true : false}" " actionListener="#{usuarioBean.prepararEliminar(u.id)}

oncomplete="dlgEliminar.show();"tit le="Eliminar" icon="icon-delete" /> </p:column> </p:dataTable> </p:panel> </p:tab> </h:form> <h:form id="formEditar"> <p:dialog header="Editar Usuario"widgetVar="dlgEditar" resizable="false" id="dlgEditar" modal="true"> <p:growl id="growlEditar" sticky="true"life="1 000" /> <h:panelGrid id="pgEditar" columns="2"cellspac ing="8" style="margin:0 auto;"> <h:outputText value="Descripcion:" /> <p:inputText value="#{perfilBean.perfil.d escripcion}" style="width: 400px" /> </h:panelGrid> <p:separator /> <p:commandButton value="Actualizar" update=":formLista:dataTable, growlEditar, dlgEditar" actionListener="#{perfilBean.actualizar}" oncomplete="dlgEditar.hide()" icon="iconupdate" />

<p:commandButton value="Cancelar"update=":form Lista:dataTable" oncomplete="dlgEditar.hide()" icon="iconcancel" /> </p:dialog> </h:form> <h:form id="formEliminar"> <p:growl id="growlEliminar" sticky="true" /> <p:confirmDialog id="dlgEliminar" message="Desea eliminar este usuario"header="Eliminar Integrante" severity="alert" widgetVar="dlgEliminar"> <p:commandButton value="Eliminar" update=":formLista:dataTable, growlEliminar, dlgEliminar" actionListener="#{perfilBean.eliminar}" oncomplete="dlgEliminar.hide()" icon="icon-delete" /> <p:commandButton value="Cancelar"update=":form Lista:dataTable" oncomplete="dlgEliminar.hide()" icon="ico n-cancel" /> </p:confirmDialog>

</h:form> </ui:define> </ui:composition> </html>

Resultado

Anda mungkin juga menyukai