CRUD de usuário

7 respostas
Z

Galerinha
Bom dia!

Estou com um trabalhando com uma aplicação web que tem a função de cadastrar bancas de TCC.
Sou iniciante com Java, pelo que aprendi nos videos comecei utilizando o Bootstrap e pelo front end que já tenho mais familiaridade. Desenhei todas as telas que queria e agora passei para o back-end.
Gostaria de um norte de como fazer um CRUD básico em Java, vi alguns tutoriais e consegui fazer a conexão com o banco no phpmyadmin.

Eu gostaria de poder
Listar usuários.
Desativar usuários.
Cadastrar usuários.
Editar cadastro.

Não sei ao certo como fazer as Beans e as DAO/DAL para isso.
Alguém poderia por favor ajudar um iniciante ?
Agradeço a força!!

7 Respostas

JulioCesarSF

Pelo que vi no UsuarioDAO você está indo pelo caminho certo.

Qual a sua duvida exatamente?

Usa os sets do Preparedstatment qnd for buscar o usuario também rs…

public Usuario buscaPorEmailESenha(String email, String senha) throws SQLException {
			
		String sql = "SELECT * FROM usuario WHERE usua_email = ? AND usua_senha = ?";

	        PreparedStatement stmt = this.connection.prepareStatement(sql);
	        stmt.setString(1, email);
	        stmt.setString(2, senha);
	        ResultSet rs = stmt.executeQuery();
	        
	         Usuario usuario = null;
	        if(rs.next()){
	            Usuario usuario = new Usuario(rs.getInt("usua_id"), 
	            	rs.getString("usua_nome"), 
	            	rs.getString("usua_email"), 
	            	rs.getString("usua_senha"), 
	            	rs.getString("usua_celular"),
	            	rs.getInt("usua_na"), 
	            	BooleanUtils.toBoolean(rs.getInt("usua_status")));            
	        } 

	        rs.close();
	        stmt.close();

	        return usuario;
	    }

Eu gosto de deixar verificações de NULL etc em uma outra classe “BO”.

Z

Fiz um Metodo pra LISTAR USUÁRIOS;

public ArrayList<Usuario> buscaSimilar() throws SQLException {
         ArrayList<Usuario> similares = new ArrayList<Usuario>();
         PreparedStatement stmt = this.connection.prepareStatement("SELECT * FROM usuario");

         ResultSet rs = stmt.executeQuery();
        while (rs.next()) {
            Usuario obj = new Usuario(rs.getInt("usua_id"),rs.getString("usua_nome"),rs.getString("usua_email"),rs.getString("usua_senha"),rs.getString("usua_celular"),rs.getInt("usua_na"),rs.getInt("usua_status"));
            obj.setId(rs.getInt("usua_id"));
            obj.setNome(rs.getString("usua_nome"));
            obj.setEmail(rs.getString("usua_email"));
            obj.setSenha(rs.getString("usua_senha"));
            obj.setCelular(rs.getString("usua_celular"));
            obj.setNivelacesso(rs.getInt("usua_na"));
            obj.setStatus(rs.getInt("usua_status"));
            
            similares.add(obj);
        }
        rs.close();
        stmt.close();
        return similares;
    }

Coloquei isso dentro da minha UsuarioDAO, a tela carregou mas ele não mostrou o que tinha no banco.

Sabe me dizer o que está faltando ?

Z

Olá, o que você está usando para fazer o bind entre table e result?

Eu uso esse cara, vê se te atende:

Abs

JulioCesarSF

Provavelmente o problema está em como você mostra a sua tabela.

Você cadastrou antes, certo? rs

M

Pergunta simples você debugou sua função para ver se está sendo chamada e caso sim ela está realizando a consulta no banco e está retornando a lista de usuários?

M

Aí jovem baixei o projeto aqui é tive realizar diversas alterações.

Comessando pela classe ListaUsuario.

public class ListaUsuario{

para

public class ListaUsuario implements Tarefa {

e adicionei o método verificaAtivado() pois o mesmo faz parta da interface Tarefa.

@Override public Boolean verificaAtivado() { return Boolean.FALSE; }

Também alterei o nome do parametro do request de “usuario” para “usuarios”, pois na página listuser.jsp ele itera o atributo usuarios.

req.setAttribute("usuario", usuarios);

para

req.setAttribute("usuarios", usuarios);

Alteração seguinte foi na classe Filtro. Adicionei um else na validação do usuário igual a nulo.

Nota: Eu validaria de maneira diferente, pórem não quis alterar muito o código.

if (usuario == null){ if (objeto.verificaAtivado().equals(false)) { return true; } }else{ return true; }

E por fim alterei a página listuser.jsp pois no momento da criação do table, pois dar um usuario.get() não é uma boa prática, pois o servlet ja se encarrega disso.

Nota: caso opte por acessar os atributos via get. Note que está faltando parenteses ao acessar o atributo nivelAcesso.

Segue alterações.

`

<c:out value="${usuario.getNome()}"></c:out> `

para

`

<c:out value="${usuario.nome}"></c:out> /c:out> `

Print da tela funcionando.

L

Muito massa…

Também sou novo com a linguagem Java e pretendo começar com CRUD para ir pegando bem as “manhas” de Java… Um sisteminha de bibliotecas talvez :slight_smile: valeeuuuuuu vai ajudar um monte !

Criado 15 de dezembro de 2016
Ultima resposta 16 de dez. de 2016
Respostas 7
Participantes 5