Testando DAO

3 respostas Resolvido
R

Boa tarde, sou novo em java e estou com dificuldade para testar o update do DAO.

DAO:

public void Atualiza(Aluno aluno) {

String sql = update alunos set nome=?, registro=?, email=?, endereco=?, dataInscricao=? where id=?;

try {

PreparedStatement stmt = connection.prepareStatement(sql);

stmt.setString(1, aluno.getNome());

stmt.setString(2, aluno.getRegistro());

stmt.setString(3, aluno.getEmail());

stmt.setString(4, aluno.getEndereco());

stmt.setDate(5, java.sql.Date.valueOf(aluno.getDataInscricao()));

stmt.setLong(5, aluno.getId());

stmt.execute();

stmt.close();

} catch (SQLException e) {

throw new RuntimeException(e);

}

}

Teste DAO com erro em “aluno.setId(“1”);” onde pede a criação do método setId:
import java.time.LocalDate;

public class TesteAtualiza {

public static void main(String[] args) {
	Aluno aluno = new Aluno();
	aluno.setNome("José da Silva");
	aluno.setRegistro("09870");
	aluno.setEndereco("Rua Treze de Maio, 88");
	aluno.setEmail("[email removido]");
	aluno.setDataInscricao(LocalDate.parse("2017-10-28"));
	aluno.setId("1");

	new AlunoDao().Atualiza(aluno);

	System.out.println("Aluno Atualizado com Sucesso!");
}

}

Metodos:

public Long getId() {

return id;

}
public void setId(Long id) {
	this.id = id;
}

Minha dúvida é, como deve ser o método setId?

Desde já, obrigado.

3 Respostas

R

Pessoal,

Encontrei o erro, aterei a linha.

de:
aluno.setId(“1”);

para
aluno.setId((long) 2);

B
Solucao aceita

não precisa fazer casting, apenas

aluno.setId(1L);

R

blayd2015 obrigado pela atenção

Criado 30 de outubro de 2017
Ultima resposta 30 de out. de 2017
Respostas 3
Participantes 2