Caelum fj 21 Exercicio 11.8

6 respostas
kenshinHimura

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…

6 Respostas

F

Qual é a dúvida Battousai? :slight_smile:

kenshinHimura

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

kenshinHimura

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!!

S

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.

F

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.

kenshinHimura
Pessoal valew!! resolvi o problema...como o fvslistas disse o método não faz nada ai implementei (achei que Struts gerava a implementação):
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){
			
		}
	}
tive problemas com a conexao estava usando:
final String url = "jdbc:mysql://localhost/banco";
ai depois de algumas pesquisas...mudei para:
final String url = "jdbc:mysql://127.0.0.1/banco";
e funcionou blz...agora posso continuar com a apostila.

Sayonara...

Ass: Battousai!!

Criado 7 de junho de 2010
Ultima resposta 9 de jun. de 2010
Respostas 6
Participantes 3