Olá desenvolvedores, aprenda como implementar o delete em um sistema. E note, até aqui estamos aprendendo a implementação lógica de um CRUD. E o que é um CRUD? Trata-se de um acrônimo utilizado para se referir as quatro operações básicas de um banco de dados. Este acrônimo representa em inglês a expressão: Creat, Read, Update, Delete, ou seja, em português, criação, consulta, atualização e destruição, respectivamente.
E foi exatamente o que fizemos nos últimos tutoriais, aprendemos a criar (insert) um registro. Aprendemos a consultar (select) todos ou apenas um registro da base de dados, e ainda, aprendemos a atualizar (update) os registros.
E no último tutorial aprendemos ainda automatizar o incremento do id. Sabemos que um banco de dados relacional organiza os dados em tabelas. Assim podendo representar de forma estruturada dados relacionados. Cada linha da tabela também chamada de tupla representa um objeto, um registro. E cada objeto tem um ID que o identifica, que o torna único naquela tabela. Agora é hora de aprendermos a deletar um registro.
IMPLEMENTANDO O DELETE
O delete é um dos métodos mais fáceis de implementar. Criaremos um método que receberá como parâmetro um ID, que aliás é do tipo Long e não long. Afinal qual é a diferença? O Long é um objeto igual a String, Boolean ou Integer, ao passo que long é um tipo de dado primitivo como int, boolean, float.
Isso posto, passaremos o ID por parâmetro porque tencionamos deletar apenas um registro por vez e não todos os registros. Desse modo a assinatura do método na classe UserPosDAO ficará como mostrado abaixo.
Public void deletar(Long id){ }
Toda a implementação dentro do método deverá estar envolvida por um bloco try/catch. No entanto, teremos um bloco try/catch aninhado dentro de outro bloco catch. No primeiro bloco try implementaremos a instrução SQL.
String sql = “delete from userposjava where id =” +id;
Instancie o objeto PreparedStatement cuja responsabilidade será deletar o registro. Esta atualização será feita a partir do objeto connection invocando a instrução prepareStatement que recebe o sql que instanciamos na linha de código acima. E então o executaremos. E para gravar a alteração após deletarmos um dado registro, daremos um commit.
PreparedStatement preparedstatement = connection.prepareStatement(sql);
preparedstatement.execute();
connection.commit();
Desse modo dentro do bloco catch será implementado o segundo bloco try/catch, em que o bloco try trará a instrução rollback. Assim quando uma exceção for disparada a instrução rollback determinará que todas as modificações de dados feitas até aquele ponto na transação atual sejam revertidas.
Connection.rollback();
IMPLEMENTADO A CLASSE DE TESTE
Na classe de Teste, escreveremos o método initDeletar(), e novamente com um bloco try/catch em seu escopo.
Public void initDeletar(){ }
No escopo do bloco catch instancie o UserPosDao, e implemente a instrução que receberá como parâmetro o ID do registro a ser deletado.
UserPosDao dao = new UserPosDao();
dao.deletar(7L);
Selecione o nome do método na assinatura, clique com o botão direito do mouse >> Run As >> JUnit Test. No SGBD – Sistema Gerenciador de Banco de Dados, dê um select e atualize pressionando a tecla de função F5 a tabela.
SELECT * FROM userposjava
EM POUCAS PALAVRAS
Então após o tutorial de hoje fechamos o ciclo de CRUD, fizemos o insert, o update, o delete e a consulta. Dessa forma vimos também o conceito de JDBC – Java Database Connectivity. É isso, eu fico por aqui, nos vemos no próximo tutorial.