Cícero Ednilson

Blog sobre Desenvolvimento de Softwares

Home » Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 11: Excluindo um registro.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 11: Excluindo um registro.

Nessa parte do nosso tutorial vamos adicionar um botão ao nosso dataTable para excluir um registro do banco de dados.

Páginas do tutorial.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 1: Introdução.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 2: Criando o banco de dados.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 3: Criando o projeto com JSF no Maven.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 4: Criando o template com Facelets.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 5: Desenvolvendo a autenticação do sistema.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 6: Desenvolvendo cadastro de pessoa.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 7: Desenvolvendo cadastro via upload de arquivo XML.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 8: Desenvolvendo consulta com PrimeFaces dataTable.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 9: Formatando LocalDateTime.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 10: Editando um registro.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 11: Excluindo um registro.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 12: Consulta com Carousel PrimeFaces.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 13: Consulta com Gráfico PrimeFaces.

Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 14: Exportando arquivo XML com fileDownload e Jdom.

Criando rotina de exclusão.

Vamos abrir a nossa classe PessoaRepository, e na nossa classe vamos adicionar o código abaixo.

1
2
3
4
5
6
7
8
9
10
11
12
	/***
	 * EXCLUI UM REGISTRO DO BANCO DE DADOS
	 * @param codigo
	 */
	public void ExcluirRegistro(int codigo){
 
		entityManager =  Uteis.JpaEntityManager();		
 
		PessoaEntity pessoaEntity = this.GetPessoa(codigo);
 
		entityManager.remove(pessoaEntity);
	}

Agora vamos abrir a classe ConsultarPessoaController e vamos adicionar o código abaixo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
	/***
	 * EXCLUINDO UM REGISTRO
	 * @param pessoaModel
	 */
	public void ExcluirPessoa(PessoaModel pessoaModel){
 
		//EXCLUI A PESSOA DO BANCO DE DADOS
		this.pessoaRepository.ExcluirRegistro(pessoaModel.getCodigo());
 
		//REMOVENDO A PESSOA DA LISTA
		//ASSIM QUE É A PESSOA É REMOVIDA DA LISTA O DATATABLE É ATUALIZADO
		this.pessoas.remove(pessoaModel);
 
	}

Agora na última coluna do dataTable da página consultarPessoa.xhtml vamos adicionar o código em destaque na imagem abaixo, esse código cria o botão que vai excluir a pessoa, veja que a pessoal a ser excluida e o registro corrente da variável definida no var do dataTable que funciona como um foreach para preencher os registros.

Abaixo você pode pegar o código completo da página consultarPessoa.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
 
<!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"
	xmlns:f="http://xmlns.jcp.org/jsf/core"
	xmlns:p="http://primefaces.org/ui"	
	xmlns:format="http://ciceroednilson.com.br/LocalDateTimeConverter">
 
<h:head>
</h:head>
 
<ui:composition template="/template/layoutBase.xhtml">
 
	<ui:define name="content">
 
		<p:dialog header="Editar cadastro de pessoa" 
				  id="dialog-modal-editar" 
		   		  widgetVar="dialog-modal-editar" 
		   		  modal="true" 
		   		  height="400px"
		   		  width="550px">
 
    		 <ui:include src="/sistema/editarPessoa.xhtml"/>
 
 
		</p:dialog>
 
		<h:form style="margin:auto;margin-left:2%;" id="form-consulta">
 
			<p:dataTable id="dataTable-registros"
						 var="pessoa" 
						 value="#{consultarPessoaController.pessoas}" 
						 rows="15"
						 paginator="true"
						 paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} 
                                                 {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                                 rowsPerPageTemplate="5,10,15"
                                                 style="width:98%;">
 
				        <p:column headerText="Código">
            				<h:outputText value="#{pessoa.codigo}" />
        				</p:column>
 
        				<p:column headerText="Nome">
            				<h:outputText value="#{pessoa.nome}" />
        				</p:column>
 
        				<p:column headerText="Sexo">
            				<h:outputText value="#{pessoa.sexo}" />
        				</p:column>
 
        				<p:column headerText="Cadastro">
            				<h:outputText value="#{pessoa.dataCadastro}">            					
            					<format:LocalDateTimeConverter pattern="dd/MM/yyyy HH:mm:ss"/>
            				</h:outputText>
        				 </p:column>
 
        				 <p:column headerText="Email" style="width:200px;">
            				<h:outputText value="#{pessoa.email}" />
        				 </p:column>
 
        				 <p:column headerText="Endereço" style="width:200px;">
            				<h:outputText value="#{pessoa.endereco}" />
        				 </p:column>
 
        				 <p:column headerText="Origem">
            				<h:outputText value="#{pessoa.origemCadastro}" />
        				 </p:column>
 
        				 <p:column headerText="Usuário">
            				<h:outputText value="#{pessoa.usuarioModel.usuario}" />
        				 </p:column>
 
        				 <p:column headerText="" style="width:25px;">
 
        				       <p:commandButton icon="ui-icon-pencil" 
        				    				    title="Editar Registro"                        					 
                        					    ajax="true"                        					 
                        					    actionListener="#{consultarPessoaController.Editar(pessoa)}"
                        					    oncomplete="PF('dialog-modal-editar').show();" 
                        					    update="dialog-modal-editar"/>
 
        				 </p:column>
 
        				 <p:column headerText="" style="width:25px;">
 
        				    <p:commandButton icon="ui-icon-trash" 
        				    		     title="Excluir Registro"                        					 
                        					 ajax="true"
                        					 actionListener="#{consultarPessoaController.ExcluirPessoa(pessoa)}"
                        					 update="@form" />
 
        				 </p:column>
 
			</p:dataTable>
 
		</h:form>
 
	</ui:define>
 
</ui:composition>
</html>

Na imagem abaixo podemos ver o fluxo da exclusão de um registro.

Testando a exclusão do registro.

Quando acessarmos a tela de consulta vamos ver o botão de excluir, então basta excluir alguns registro para testar a funcionalidade.

99

É isso ai amigos, nessa parte do nosso tutorial criamos a rotina para excluir um registro do banco de dados, na próxima parte vamos criar uma página que use o compoente de Carrossel do PrimeFaces, até a próxima.

Comentários

Name of author

Name: ciceroednilson@gmail.com

2 thoughts on “Criando uma aplicação Java com JSF, PrimeFaces, CDI e JPA – Parte 11: Excluindo um registro.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *