Mantenimiento de Articulo Alumnos jsf
Mantenimiento de Articulo de alumnos
En esta primera ejemplo mostrar dataTable para mostrar registros para poder manipular información
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 static final long serialVersionUID = 1L;
private Alumno alumno;
private List<Alumno> alumnos;
private 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="margin-bottom: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-zA-Z\.]*[a-zA-Z]" />
</p:inputText>
</h:panelGrid>
</p:panel>
<p:commandButton style="margin-left: 10px;" value="Nuevo" update=":form"
actionListener="#{alumnoBean.limpiar}" />
<p:commandButton style="margin-left: 10px;" value="Guardar" update=":formdata"
actionListener="#{alumnoBean.insertar}"/>
<p:commandButton style="margin-left: 10px;" value="Modificar" update=":formdata"
actionListener="#{alumnoBean.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