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(perfilBuscado);
}
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.prepararInsertar}"
update=":formNuevo:pgNuevo" oncomplete="dlgNuevo.show();"
value="Nuevo
Perfil" icon="icon-add">
</p:commandButton>
</h:form>
<h:form style="margin-bottom: 8px">
<p:commandButton action="#{perfilBean.imprimir()}"
value="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="Búsqueda 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.descripcion}"
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="1000"
/>
<h:panelGrid id="pgNuevo"
columns="2" cellspacing="8"
style="margin:0 auto;">
<h:outputText value="descripcion"
/>
<p:inputText value="#{perfilBean.perfil.descripcion}"
style="width: 400px" />
</h:panelGrid>
<p:separator />
<p:commandButton value="Guardar"
actionListener="#{perfilBean.insertar}"
update=":formLista:dataTable, growlNuevo, dlgNuevo"
oncomplete="dlgNuevo.hide()" icon="icon-disk" />
<p:commandButton value="Cancelar"
update=":formLista:dataTable"
oncomplete="dlgNuevo.hide()" icon="icon-cancel" />
</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="#{perfilBean.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();" title="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="1000"
/>
<h:panelGrid id="pgEditar"
columns="2" cellspacing="8"
style="margin:0 auto;">
<h:outputText value="Descripcion:"
/>
<p:inputText value="#{perfilBean.perfil.descripcion}"
style="width: 400px" />
</h:panelGrid>
<p:separator />
<p:commandButton value="Actualizar"
update=":formLista:dataTable, growlEditar, dlgEditar"
actionListener="#{perfilBean.actualizar}"
oncomplete="dlgEditar.hide()" icon="icon-update" />
<p:commandButton value="Cancelar"
update=":formLista:dataTable"
oncomplete="dlgEditar.hide()" icon="icon-cancel" />
</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=":formLista:dataTable"
oncomplete="dlgEliminar.hide()" icon="icon-cancel" />
</p:confirmDialog>
</h:form>
</ui:define>
</ui:composition>
</html>
Resultado
Hola, ¿Cual es la configuración de myBatis para la aplicación?
ResponderEliminar