Duvida como fazer um atualizar cadastro?

4 respostas
M

Boa noite pessoal,

Estou com duvidas de como fazer um atualizar cadastro, eu já fiz um criar usuário e listar todos cadastrados e agora estou tentando trazer os dados desse usuário já cadastrado em um inputText para já para atualizar e gravar no banco. Porem não sei como identificar o usuário pela chave primaria no banco para puxar os dados dele.

Alguém poderia me ajudar?
Estou usando JSF e Hibernate.

Obrigado.

4 Respostas

drsmachado

Camarada, qualquer pesquisa tosca na documentação do hibernate ou mesmo no google te dirá como fazer essa busca.
Deixa de ser preguiçoso e vá pesquisar um pouco. Caso você pesquise e não consiga entender algo, poste aqui tua dúvida, para ser esclarecida, claro, seguindo as regras do fórum e indicando onde fez a pesquisa e o que não ficou claro.

felipedamiani

drsmachado:
Camarada, qualquer pesquisa tosca na documentação do hibernate ou mesmo no google te dirá como fazer essa busca.
Deixa de ser preguiçoso e vá pesquisar um pouco. Caso você pesquise e não consiga entender algo, poste aqui tua dúvida, para ser esclarecida, claro, seguindo as regras do fórum e indicando onde fez a pesquisa e o que não ficou claro.

A dúvida dele não é como buscar os dados do cadastro no banco, e sim como localizar um registro e trazer para o formulário para que possa ser editado.

manuel:
Boa noite pessoal,

Estou com duvidas de como fazer um atualizar cadastro, eu já fiz um criar usuário e listar todos cadastrados e agora estou tentando trazer os dados desse usuário já cadastrado em um inputText para já para atualizar e gravar no banco. Porem não sei como identificar o usuário pela chave primaria no banco para puxar os dados dele.

Alguém poderia me ajudar?
Estou usando JSF e Hibernate.

Obrigado.

Manuel, isso depende de como você está implementando o layout dos seus cruds. Vamos usar um cadastro de cliente como exemplo: você poderia criar uma tela onde listaria os clientes cadastrado em uma tabela paginada e carregada via lazy-loading. Ai nesta mesma tela você teria botões “Adicionar”, “Alterar”, “Excluir”… onde adicionar abriria seu formulário “limpo” para inserir um novo registro, já para alterar você selecionaria o registro na grid e ele abriria o mesmo formulário da inserção, porém com os dados desse registro setados no formulário.

Att

V

drsmachado:
Camarada, qualquer pesquisa tosca na documentação do hibernate ou mesmo no google te dirá como fazer essa busca.
Deixa de ser preguiçoso e vá pesquisar um pouco. Caso você pesquise e não consiga entender algo, poste aqui tua dúvida, para ser esclarecida, claro, seguindo as regras do fórum e indicando onde fez a pesquisa e o que não ficou claro.

Esses caras que gostam de se amostrar, se não tem solução não posta então.

Voltando ao tópico, você usa algum componente ? primefaces ? poderia postar sua pagina e seu manager bean pra te auxiliar melhor…

M

felipedamiani

Valeio Bezerra

Obrigado por tentarem me ajudar, diferente de algumas pessoas que não entendem as perguntas e sai esculachando as pessoas sem ao menos conhecer e saber com quem está falando.

Muito obrigado.

Mas vamos ao que interessa abaixo meu bean e minha pagina:

Essa é minha pagina onde estou listando todos os usuários do banco e tenho um botão detalhar que tem que direcionar para a pagina de atualizar usuário onde nessa pagina eu gostaria que mostra-se todos os dados já no campo para ser editado.

Tela que lista todos os usuários

<!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:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core">

<head>
<link rel="stylesheet" type="text/css" href="layout.css" />

</head>

<h:body>
	<ui:composition template="/templateAdm.xhtml">
		<ui:define name="centro">
		
		<div class="titulo">
		<h:button styleClass="criarUsuario" outcome="criarUsuario" value="Criar Usuario"/>

		<h4 class="usuarios">Usuarios</h4>
		</div>
		
		<h:dataTable styleClass="tabelaInicial" columnClasses="4" value="#{listarUsuarioBean.usuarios}" var="us" width="680" border="1">
				
				<h:column headerClass="tamanho1" footerClass="tamanho1">
					<f:facet styleClass="protocolo" name="header">Nome</f:facet>
					#{us.nome}
				</h:column>
				
				<h:column headerClass="tamanho3" footerClass="tamanho3">
					<f:facet styleClass="protocolo" name="header">CPF</f:facet>
					#{us.cpf}
				</h:column>
				
				<h:column headerClass="tamanho2" footerClass="tamanho2">
					<f:facet styleClass="data" name="header">Tipo Usuario</f:facet>
					#{us.tipousuario.tipo}
				</h:column>
				
				<h:column headerClass="tamanho3" footerClass="tamanho3">
					<f:facet styleClass="protocolo" name="header">Status</f:facet>
					#{us.statususuario.status}
				</h:column>
				
				<h:column headerClass="tamanho3" footerClass="tamanho3">
					<f:facet styleClass="protocolo" name="header">Detalhar</f:facet>
					<h:button value="Detalhar" outcome="atualizarUsuario.xhtml" />
				</h:column>
				
			</h:dataTable>
	
		</ui:define>
	</ui:composition>
</h:body>

</html>

Tela de atualizar usuário:

<!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:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core">

<head>
<link rel="stylesheet" type="text/css" href="layout.css" />

</head>

<h:body>
	<ui:composition template="/templateAdm.xhtml">
		<ui:define name="centro">

		<!-- div class="titulo">
				<h4 class="criarUsuarios">Criar usuarios</h4>
			</div> -->
			
			<h:form id="form">  
  
    <p:panel id="panel" header="Criar usuario">  
  
        <p:messages id="msgs"/>  
  
        <h:panelGrid columns="3">  
            <h:outputLabel for="nome" value="Nome: *" />  
            <p:inputText id="nome" value="#{criarUsuarioBean.usuario.nome}" required="true" label="Nome">  
                <f:validateLength minimum="2" />  
            </p:inputText>  
            <p:message for="nome" display="icon"/>  
  
            <h:outputLabel for="cpf" value="CPF: *" />  
            <p:inputText id="cpf" value="#{criarUsuarioBean.usuario.cpf}" label="Surname" required="CPF">  
                <f:validateLength minimum="2" />  
                <p:ajax update="msgSurname" event="keyup" />  
            </p:inputText>  
            <p:message for="cpf" id="msgSurname" display="icon"/>  
            
                   <h:outputLabel for="rg" value="RG: *" />  
            <p:inputText id="rg" value="#{criarUsuarioBean.usuario.rg}" required="true" label="RG">  
                <f:validateLength minimum="2" />  
            </p:inputText>  
            <p:message for="rg" display="icon"/>
            
                   <h:outputLabel for="telefone" value="Telefone: *" />  
            <p:inputText id="telefone" value="#{criarUsuarioBean.usuario.telefone}" required="true" label="Telefone">  
                <f:validateLength minimum="2" />  
            </p:inputText>  
            <p:message for="telefone" display="icon"/>
            
                   <h:outputLabel for="email" value="E-mail: *" />  
            <p:inputText id="email" value="#{criarUsuarioBean.usuario.email}" required="true" label="E-mail">  
                <f:validateLength minimum="2" />  
            </p:inputText>  
            <p:message for="email" display="icon"/>
            
                         <h:outputLabel for="senha" value="Senha: *" />  
            <p:inputText id="senha" value="#{criarUsuarioBean.usuario.senha}" required="true" label="Senha">  
                <f:validateLength minimum="2" />  
            </p:inputText>  
            <p:message for="senha" display="icon"/>
            
            <div class="prioridade">
				<label class="prioridade">Tipo de usuario: </label>
				<h:selectOneMenu value="#{criarUsuarioBean.tipoUsuario}">
					<f:selectItem itemLabel="Usuario" itemValue="1" />
					<f:selectItem itemLabel="Atendente" itemValue="2" />
					<f:selectItem itemLabel="Administrador" itemValue="3" />
				</h:selectOneMenu>
			</div>
            
        </h:panelGrid>  
  
        <p:commandButton id="btn" value="Atualizar" update="panel" actionListener="#{criarUsuarioBean.criar}"/>
        <p:commandButton id="btn1" value="Bloquear" update="panel" actionListener="#{criarUsuarioBean.criar}"/>  
    </p:panel>  
  
</h:form>  
	

		</ui:define>
	</ui:composition>
</h:body>

</html>

Abaixo meu Bean que lista todos os usuários

package tccjsf.bean;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.persistence.EntityManager;

import tccjsf.dao.GenericDao;
import tccjsf.model.Usuario;
import tccjsf.util.JPAUtil;

@ManagedBean
public class ListarUsuarioBean {
	
	private Usuario usuario;
	private EntityManager entityManager;
	private GenericDao<Usuario> usuarioDao;

	public ListarUsuarioBean() {
		this.entityManager = JPAUtil.getEntityManagerFactory().createEntityManager();
		this.usuarioDao = new GenericDao<Usuario>(entityManager, Usuario.class);
		this.usuario = new Usuario();

	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public List<Usuario> getUsuarios(){
		
		return usuarioDao.listarTodos();
	}

}
Criado 6 de dezembro de 2012
Ultima resposta 7 de dez. de 2012
Respostas 4
Participantes 4