gente estudando pelo livro da caelum de java web fj-21 tem vários exemplos bacanas e tals, bem fiz uma classe de contato, um contatoDao que tem vários métodos entre eles o de adicionar um contato ao BD e tals, agora me deparei com uma data não formatada e a apostila recomenda a procura de informações sobre a classe SimpleDateFormat, alguém poderia me ajudar, me mostrando como formatar um calendar que é o meu caso com essa classe? O resultado vem todo certo apenas a data que eu queria no formato “dd/MM/yyyy”.
classe contato
package br.com.flavio.jdbc.modelo;
import java.util.Calendar;
public class Contato {
private long id;
private String nome;
private String email;
private String endereco;
private Calendar dataNascimento;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public Calendar getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Calendar dataNascimento) {
this.dataNascimento = dataNascimento;
}
}
Classe contatoDao
package br.com.flavio.dao;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import br.com.flavio.jdbc.ConnectionFactory;
import br.com.flavio.jdbc.modelo.Contato;
public class ContatoDao {
private Connection connection;
public ContatoDao(){
this.connection = new ConnectionFactory().getConnection();
}
public void adiciona(Contato contato){
String sql = "insert into contatos"+
"(nome, email, endereco, dataNascimento)"+
"values(?,?,?,?)";
try {
//preparedStatement para insercao
PreparedStatement stmt = connection.prepareStatement(sql);
//setando 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();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
public List<Contato> getLista(){
try {
List<Contato> contatos = new ArrayList<Contato>();
//statement q passa o comando sql
PreparedStatement stmt = this.connection.prepareStatement("select * from contatos");
//armazena a lista passa na resultset
ResultSet rs = stmt.executeQuery();
while(rs.next()){
//cria o objeto
Contato contato = new Contato();
contato.setId(rs.getLong("id"));
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
//montar data
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("dataNascimento"));
contato.setDataNascimento(data);
//add o objeto a lista
contatos.add(contato);
}
rs.close();
stmt.close();
return contatos;
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}