olá a todos pessoal to estudando a fj21 da caelum aqui e estou fazendo um busca no banco de dados só que a data vem toda estranha nao sei usar esse SimpleDateFormat
se alguém puder me dar uma dica agradeço
segue o codigo
package br.com.caelum.jdbc.Teste;
import java.util.List;
import java.sql.SQLException;
import br.com.caelum.Modelo.Contato;
import br.com.caelum.jdbc.Dao.ContatoDao;
public class TestaLista {
public static void main(String[] args) throws SQLException {
ContatoDao dao = new ContatoDao();
List<Contato> contatos = dao.getLista();
for(Contato contato : contatos){
System.out.println("Nome :"+ contato.getNome());
System.out.println("Email :"+ contato.getEmail());
System.out.println("Endereço :"+ contato.getEndereco());
System.out.println("Data Nascimento : " +contato.getDataNascimento().getTimeInMillis());
}
}
}
e a class contadoDao
package br.com.caelum.jdbc.Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import br.com.caelum.Modelo.Contato;
import br.com.teste.ConnectionFactory;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class ContatoDao {
private Connection connection;
public ContatoDao() throws SQLException {
this.connection = new ConnectionFactory().getConnection();
}
public void adiciona(Contato contato ){
String sql = "insert into contatos (nome,email,endereco,dataNascimento)values(?,?,?,?)";
try{
//prepared statement para inserção
PreparedStatement stmt = connection.prepareStatement(sql);
// seta os valores
stmt.setString(1,contato.getNome());
stmt.setString(2,contato.getEmail());
stmt.setString(3,contato.getEndereco());
stmt.setDate(4, new Date(contato.getDataNascimento().getTimeInMillis()));
stmt.execute();
}catch(SQLException e){
throw new RuntimeException(e);
}
}
public List<Contato>getLista(){
List<Contato> contatos = new ArrayList<Contato>();
try{
PreparedStatement stmt = this.connection.prepareStatement("select * from contatos");
ResultSet rs = stmt.executeQuery();
while(rs.next()){
//Criando o objeto Contato
Contato contato = new Contato();
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
//montato a data atraves do calendar
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("dataNascimento"));
contato.setDataNascimento(data);
// adicionando o objeto a lista
contatos.add(contato);
}
rs.close();
stmt.close();
}catch(SQLException e){
throw new RuntimeException(e);
}
return contatos;
}
}