Pessoal to com uma dúvida no exercicio 11.8 da apostila fj21
relacionado a esse ponto:
Vamos começar importando o modelo de Tarefas, o DAO e o driver JDBC
para aqueles que já fizeram esse exercicio se puderem da uma força para construir
o modelo Tarefas e o DAO…
Caelum fj 21 Exercicio 11.8
6 Respostas
Qual é a dúvida Battousai? 
As dúvidas estão em como fazer estes métodos(se encontram a partir da pg 129):
new TarefaDAO().adiciona(tarefa);
tarefas= new TarefaDAO().lista();
tarefa= new TarefaDAO().buscaPorId(id);
new TarefaDAO().altera(tarefa);
new TarefaDAO().finaliza(id);//este está na pag 138
Bom dia!!
Fiz esta classe:
package dados;
import java.util.List;
public class TarefaDao {
public void adiciona(Tarefa tarefa){
}
public List<Tarefa> lista(){
List<Tarefa> tarefas = null;
return tarefas;
}
}
Tenho a tabela que foi pedida:
createtabletarefas(
idBIGINTNOTNULLAUTO_INCREMENT,
descricaoVARCHAR(255),
finalizadoBOOLEAN,
dataFinalizacaoDATE,
primarykey(id)
);
mas não deu certo, não esta gravando no banco de dados.
No momento estou apenas tentando gravar e listar.
Obs: Não da erro nas páginas a mensagem: Nova tarefa adicionada com sucesso!
aparece normal, mas, não ta gravando no banco de dados.
Se alguém puder me ajudar!!
Esses exercícios tem a resposta na própria apostila, mas tem que ler desde o primeiro capítulo, pois um capítulo vai depender do outro, se pular 2 capítulos já era.
O método está vazio.
public void adiciona(Tarefa tarefa){
}
Nada vai acontecer quando chamar o método. Nem erro vai acontecer.
Como erro nenhum (nem nada) vai acontecer, o resto do programa acha que a operação ocorreu bem e exibe a mensagem de sucesso.
Veja na apostila o que falta. Implemente o método.
public void adiciona(Tarefa tarefa){
String sql = "insert into tarefas (descricao, finalizado) values (?,?)";
try{
PreparedStatement ps = conecta.prepareStatement(sql);
ps.setString(1, tarefa.getDescricao());
ps.setBoolean(2, tarefa.isFinalizado());//is em vez de get para boolean
//java.sql.Date dataGravar = new java.sql.Date(Calendar.getInstance().getTimeInMillis());
//ps.setDate(3, tarefa.getDataFinalizacao(dataGravar));
System.out.println("passou aki!");
ps.execute();
ps.close();
conecta.close();
System.out.println("Registro gravado com sucesso!");
}catch(SQLException e){
}
}
final String url = "jdbc:mysql://localhost/banco";
final String url = "jdbc:mysql://127.0.0.1/banco";
Sayonara...
Ass: Battousai!!