Olá desenvolvedores, continuando com a construção de um sistema de cadastro em JDBC E JSP, daremos continuidade a implementação do “editar usuário”. Recapitulando o que já temos implementado a tela de login que nos permitirá acesso ao sistema. Bem como já temos a possibilidade de inserir e excluir usuários. E tudo isso sendo refletido no banco de dados.

Na PARTE 1 deste tutorial, “JDBC E JSP: EDITANDO USUÁRIO – PARTE 1” demos início a implementação que vai nos permitir “Editar os usuários” do sistema. Lá, criamos também uma nova coluna no banco de dados, a coluna id, visto que sem este campo único que permanece inalterado não conseguiríamos excluir nenhum usuário do sistema.

E agora que temos o campo id, teremos que implementar algumas mudanças no nosso código.

IMPLEMENTANDO A SERVLET

Então, na servlet “Usuario.java”, no método doPost, que é o responsável por enviar os dados do formulário para serem processados para o recurso especificado. insira as linhas de código abaixo que receberá o id que virá por request (requisição). Ressaltando que o id é um tipo Long e, portanto, deverá “sofrer” a conversão se for igual a vazio.

String id = request.getParameter("id");
usuarioID.setId(!id.isEmpaty()? Long.parseLong(id) : 0);

Desse modo, se o id ainda não existe no sistema, então o registro poderá ser cadastrado ou salvo no sistema. Em outras palavras, se o id for nulo ou vazio, poderemos salvar o usuário no sistema. Porém, se o id já existe, ele será atualizado.

IMPLEMENTANDO O DAO

Precisaremos construir o método atualizar, no DaoUsuario.java, que como já sabemos DAO é a sigla de Data Access Object. Assim, o DAO é uma classe cuja responsabilidade é a manipulação dos dados, isto é, palas operações do banco de dados.

Agora  o método atualizar receberá a Query SQL de atualização preparada com o PreparedStatement, isto é, por meio do qual a instrução update será executada. Desse modo, passaremos a ordem dos elementos que serão atualizados, lembrando que o id não sofre atualização. Um executeUpdate, para que a atualização possa ser executada, e por fim daremos um commit para enviar os dados.

E todo este bloco de código deverá estar dentro de um bloco try/catch para o tratamento de erros. Aqui, o blco try deverá implementar um segundo bloco try/cacth, onde o bloco try aninhado receberá um rollback. Assim, se algo falhar a base de dados preservará seu status anterior a tentativa de realizar a atualização.

E finalmente agora é só ligar o servidor e testar a aplicação. Perceba na base de dados que a aplicação continua adicionando os usuários normalmente, bem como “setando” automaticamente a sequência.

Falta ainda um ajuste, para que na página onde os usuários serão listados seja mostrado também o id. Desse modo no DAO DaoUsuario.java, dentro do laço de decisão “if” nos métodos listar e consultar implemente a seguinte linha de código. É o mesmo código para ambos os métodos.

“beanCursoJsp.setId(resultSet.getLong("id"));”

E lá na página cadastrarUsuario.jsp, onde está implementado a parte de exibir os usuários cadastrados acrescente mais uma coluna.

<td>
<c:out value="${user.id}"></c:out>
</td>

Mas também não queremos que o usuário da nossa aplicação possa editar o campo id, isso causaria uma bagunça, provavelmente bugaria todo o nosso sistema. Então, no input que implementa o id, configure o como um campo somente de leitura inserindo o atributo “readonly=”readonly”.

EM POUCAS PALAVRAS

Em dois tutoriais tratamos com editar usuários utilizando JDBC e JSP em Java, e se comunicando com o banco de dados. E com isso temos um cadastro de usuários completo com insert, update e delete, e altamente funcional. Espero que tenha entendido, eu fico por aqui, e nós nos vemos no próximo tutorial.