Olá desenvolvedores, continuando com a construção de um sistema de cadastro em JDBC E JSP, hoje aprenderemos a editar o usuário. Já temos implementada a nossa tela de login, já inserimos e excluímos usuários. E tudo isso sendo refletido no banco de dados. Mas agora precisamos poder editar os usuários cadastrados, e é o que sem delongas começaremos a implementar.
Começamos inserindo mais um link na lista de usuários da página “cadastroUsuario.jsp”, ao lado do excluir, adicionaremos o editar.
<td><a href="salvarUsuario?acao=editar&user=${user.login}">Editar </a></td>
E na servlet “Usuario.java” implementaremos mais uma condição, onde se for para editar teremos que estabelecer uma consulta ao usuário, isto é, ao objeto BeanCursoJsp. Este objeto receberá o login do usuário, neste caso, o parâmetro user.
BeanCursoJsp beanCursoJsp = dao.usuario.consultar(user);
Observe a linha de código que implementamos acima, tal como acontece com o “excluir usuário”, continuamos passando “user.login”, a única mudança ocorreu na ação. Uma vez que agora não queremos deletar, mas editar.
Desse modo, seguindo com a implementação, tendo feito a consulta procedemos com o redirecionamento para a página “cadastroUsuario.jsp”. Porém, passando como argumento a variável user. E quem é este user? É o objeto consultado, o BeanCursoJsp.
MÉTODO CONSULTAR
E no DaoUsuario.java implementaremos a consulta ao usuário. Recordando que o DAO – Data Access Object, é uma classe cuja responsabilidade é a manipulação dos dados. A assinatura do método que realizará a consulta ficará assim. Por parâmetro o método “consultar” receberá o login.
public BeanCursoJsp consultar(String login) {}
Dentro do método será implementada a consulta, e a conexão da consulta SQL preparada com o PreparedStatement, isto é, por meio do qual a instrução select será executada. Desse modo, o ResultSet, ou seja, o resultado dessa consulta receberá a instrução SQL e a query será executada.
Agora, ainda dentro do “método consultar” se o usuário existe, então temos que instanciar um objeto e “setar” login e senha. E por fim, retornamos este mesmo objeto.
Veja, temos objeto sendo redirecionado para a página na linha de código, “request.setAttribute(“user”, beanCursoJsp);”, porém, nos respectivos inputs precisamos adicionar o value que é o user.login e user.senha que é onde utilizamos o JSP para captar o atributo.
No entanto, para que efetivamente a gente possa editar algum registro será necessário criar um campo na base de dados que nunca será alterado. Mas primeiro criaremos este campo na página “cadastroUsuario.jsp”.
E claro, precisaremos também do atributo id que será do tipo Long na classe BeanCursoJsp.java. O tipo Long é um inteiro de 64 bits em notação de complemento de dois, pode assumir valores entre -263 e 263-1. E geraremos também o setter and getter para o novo atributo, “private Long id”.
INSERINDO NOVA COLUNA NO BANCO DE DADOS
O próximo passo é criar a coluna id no banco de dados. Assim, na base de dados curso-jsp, criaremos uma sequência, qual receberá o nome de serialuser, e com os dados apresentados na imagem abaixo.
Agora, iremos criar de fato o id, após inserir o comando, selecione e pressione a tecla F5.
ALTER TABLE usuarios ADD COLUMN id bigint;
Agora antes de prosseguirmos com as alterações na tabela e porque temos dados nela, precisaremos limpar estes dados, assim proceda com o comando abaixo.
DELETE FROM usuarios
Agora sim, tendo deletado os dados da tabela, na sequência iremos alterar a coluna id setando-a para NOT NULL. E logo após fazer com que a sequência entre em ação. Para cada linha de código, selecione-a individualmente e pressione a tecla de função F5 para executar o comando.
ALTER TABLE usuarios ALTER COLUMN id SET NOT NULL;
ALTER TABLE usuarios ALTER COLUMN id SET DEFAULT nextval ('serailuser'::regclass);
Selecione a tabela e dê um F5 nela também, assim garantiremos que todas as atualizações sejam realizadas com sucesso. E assim está estruturada a nossa tabela.
Lembram que apagamos os dados da nossa tabela? E com isso, apagamos também o nosso login e senha para acessar o sistema, vamos então cria-lo novamente. Assim sendo, clique com o botão direito do mouse, sobre a “tabela usuário” >> Script >> INSERT Script.
EM POUCAS PALAVRAS
Concluímos então a primeira parte da implementação que nos permitirá editar o usuário em nosso sistema. E já podemos novamente logar em nosso sistema. Eu fico por aqui nos vemos na parte 2 deste tutorial.