Converter java.util.Date para java.sql.Date

Pessaol,

Como eu converto uma data definida como java.util.Date para java.sql.Date?

Obrigado,

JM

tente:

  java.util.Date dataUtil = new java.util.Date();
  java.sql.Date dataSql = new java.sql.Date(dataUtil.getTime());

[]'s

3 curtidas

[quote=jgbt]tente:

  java.util.Date dataUtil = new java.util.Date();
  java.sql.Date dataSql = new java.sql.Date(dataUtil.getTime());

[]'s[/quote]

Valeu!

Pq esse transformação tem que ser feita dessa maneira?

Ola pessoal tenho o seguinte problema. Tenho essas duas classes a seguir:

[quote]

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;

import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;

import br.com.bb.persistencia.ProvedorConexao;
import br.com.leitorexceldistrato.to.GestorDistratoTO;
import br.com.leitorexel.to.GestorTO;

public class LeitorExcelDistrato{

private SimpleDateFormat sdf = null;
private NumberFormat numberFormat = NumberFormat.getInstance(new Locale("pt","BR"));

/**
 * Retorna o inputStrem do arquivo.
 * @param caminho
 * @return
 * @throws FileNotFoundException 
 */
protected InputStream getInputStreamXls(String caminho) throws FileNotFoundException{
	InputStream inputStream = null;		
	inputStream = new FileInputStream(caminho);		
	return inputStream;
}

/**
 * @return the sdf
 */
public SimpleDateFormat getSdf() {
	if(sdf == null){
		sdf = new SimpleDateFormat("dd/MM/yyyy");
	}
	return sdf;
}

protected HSSFWorkbook novoWorkBook(String caminho){
	POIFSFileSystem poi = null;
	HSSFWorkbook workBook = null;
	try {
		poi = new POIFSFileSystem (getInputStreamXls(caminho));
		workBook = new HSSFWorkbook(poi);
	} catch (FileNotFoundException e) {
		System.out.println("Arquivo não encontrado! "+e.getMessage());
		e.printStackTrace();
		System.exit(0);
	} catch (IOException e) {
		System.out.println("Não foi possível instanciar um workbook. O arquivo não é compativel.");
		e.printStackTrace();
		System.exit(0);
	}	
	return workBook;
}

/**
* Esse método é usado para mostrar o contéudo do Excel na linha de Comando.
*
* @param xlsPath
*/
public List<GestorDistratoTO> readFromExcel (String xlsPath){	
		HSSFWorkbook workbook = novoWorkBook(xlsPath);			
		HSSFSheet sheet = workbook.getSheetAt(0);
		Iterator<Row> rowIterator = sheet.rowIterator();
		List<GestorDistratoTO> listaGestor = new ArrayList<GestorDistratoTO>(1);
		while(rowIterator.hasNext()){
			GestorDistratoTO to = new GestorDistratoTO();
			Row r = rowIterator.next();	
			if(r.getRowNum() == 0) continue;
								
			String Gestor = getCellValueAsString(1, r); 
			to.setGestor(Gestor);
			System.out.print("Linha: "+r.getRowNum()+" Coluna 0: "+ to.getGestor());
			
			String razaoSocial = getCellValueAsString(3, r);
			to.setRazaoSocial(razaoSocial);
			System.out.print("Linha: "+r.getRowNum()+" ,Coluna 2: "+ to.getRazaoSocial());
			
			String coban = getCellValueAsString(2, r);
			int cobanInt = 0;
			try{
				cobanInt = Integer.valueOf(coban);					
			}catch(Exception e){
				
			}
			to.setCoban(cobanInt);
			System.out.println("Linha: "+r.getRowNum()+" ,Coluna 7: "+ to.getCoban()+"\n");
			
			String cnpj = getCellValueAsString(5, r);
			to.setCnpj(cnpj);								 
			System.out.print("Linha: "+r.getRowNum()+"Coluna 1:"+cnpj);
						
			String situacaoSistema = getCellValueAsString(6, r);
			to.setSituacaoSistema(situacaoSistema);
			System.out.print("Linha: "+r.getRowNum()+" ,Coluna 3: "+ to.getSituacaoSistema());
			
			Date data = getCellValueAsString(4, r);
			to.setData(data);
			System.out.print("Linha: "+r.getRowNum()+" ,Coluna 4: "+ to.getData());
			
			String situacaoDocumentos = getCellValueAsString(7, r);
			to.setSituacaoDocumentos(situacaoDocumentos);
			System.out.print("Linha: "+r.getRowNum()+" ,Coluna 3: "+ to.getSituacaoDocumentos());
							
			String n = getCellValueAsString(8, r);
			to.setN(n);
			System.out.print("Linha: "+r.getRowNum()+" ,Coluna 6: "+ to.getN());
			
			String saldo = getCellValueAsString(9, r);
			to.setSaldo(saldo);
			System.out.print("Linha: "+r.getRowNum()+" ,Coluna 6: "+ to.getSaldo());
			
			String Obs = getCellValueAsString(10, r);
			to.setObs(Obs);
			System.out.print("Linha: "+r.getRowNum()+" ,Coluna 6: "+ to.getObs());
			
			listaGestor.add(to);
		}
		return listaGestor;
		
}

protected String getCellValueAsString(int cellIndex, Row row){
	String resultado = null;
	Cell cell = row.getCell(cellIndex);
	if(cell != null){
		switch(cell.getCellType()) {
		case Cell.CELL_TYPE_STRING:
			resultado = cell.getRichStringCellValue().getString().trim();				
			break;
		case Cell.CELL_TYPE_NUMERIC:
			if(DateUtil.isCellDateFormatted(cell)) {
				 Date date = cell.getDateCellValue();
				 resultado = getSdf().format(date);					
			}else {
				Double valor = cell.getNumericCellValue(); 
				resultado = numberFormat.format(valor).replaceAll("\\.", "");					
			}
			break;		      	      
		}			
	}

	return resultado;
}

public void sincronizarBancoDados(String xlsPath){
	List<GestorDistratoTO> listaGestor = readFromExcel(xlsPath);
	for (GestorDistratoTO to : listaGestor) {
		boolean res = salvarPlanilhaOficial(to);
		if(res){
			System.out.println("Registro inserido: Nome do Gestor:"+to.getNomeGestor());
		}else{
			System.out.println("Registro não inserido: Nome do Gestor:"+to.getNomeGestor());
		}
		
	}
	ProvedorConexao.desligaDataBase();		
}

public boolean salvarPlanilhaOficial(GestorDistratoTO to) {
	PreparedStatement ps = null;
	int pKnovoGestor = 0;
	int i = 0;
	try {
		pKnovoGestor = getPKnovoPlanilhaOficial();
		ps = ProvedorConexao.getConexao().prepareStatement("INSERT INTO Contrato VALUES(?,?,?,?,?,?,?,?,?)");
		ps.setInt(1,pKnovoGestor);
		ps.setString(2, to.getNomeGestor());		
		ps.setString(3, to.getCnpj());
		ps.setString(4, to.getRazaoSocial());
		ps.setString(5, to.getDataRecebimento());
		ps.setString(6, to.getSituacao());
		ps.setString(7, to.getDataDevolucao());
		ps.setString(8, to.getSituacao1());
		ps.setDouble(9, to.getCoban());	
		i = ps.executeUpdate();		
	} catch (SQLException e) {			
		e.printStackTrace();
	}
	
	return i > 0;
}

private int getPKnovoPlanilhaOficial() throws SQLException{
	PreparedStatement ps = ProvedorConexao.getConexao().prepareStatement("SELECT MAX(id) FROM Contrato");
	ResultSet rs = ps.executeQuery();
	int res = 0;
	if(rs.next()) res = (rs.getInt(1)+1);
	return res;
	
}

/**
* The main executable method to test displayFromExcel method.
*
* @param args
*/
public static void main (String[] args){
	LeitorExcelDistrato poiExample = new LeitorExcelDistrato();
	String xlsPath= "C:\\Users\\NN\\Desktop\\PLANILHA OFICIAL.xls";	
	poiExample.sincronizarBancoDados(xlsPath);
}

}[/quote]

Essa é a TO:

[quote]import java.util.Date;

public class GestorDistratoTO {

	private String gestor;
	private String razaoSocial;
	private int coban;
	private String nomeGestor;
	private String nomeCoban;
	private String cnpj;
	private String situacaoSistema;
	private Date data;
	private String situacaoDocumentos;
	private String n;
	private String saldo; 
	private String obs;
	
	
	public String getGestor() {
		return gestor;
	}
	public void setGestor(String gestor) {
		this.gestor = gestor;
	}
	public String getRazaoSocial() {
		return razaoSocial;
	}
	public void setRazaoSocial(String razaoSocial) {
		this.razaoSocial = razaoSocial;
	}
	public int getCoban() {
		return coban;
	}
	public void setCoban(int coban) {
		this.coban = coban;
	}
	public String getNomeGestor() {
		return nomeGestor;
	}
	public void setNomeGestor(String nomeGestor) {
		this.nomeGestor = nomeGestor;
	}
	public String getNomeCoban() {
		return nomeCoban;
	}
	public void setNomeCoban(String nomeCoban) {
		this.nomeCoban = nomeCoban;
	}
	public String getCnpj() {
		return cnpj;
	}
	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}
	public String getSituacaoSistema() {
		return situacaoSistema;
	}
	public void setSituacaoSistema(String situacaoSistema) {
		this.situacaoSistema = situacaoSistema;
	}
	public Date getData() {
		return data;
	}
	public void setData(Date data) {
		this.data = data;
	}
	public String getSituacaoDocumentos() {
		return situacaoDocumentos;
	}
	public void setSituacaoDocumentos(String situacaoDocumentos) {
		this.situacaoDocumentos = situacaoDocumentos;
	}
	public String getN() {
		return n;
	}
	public void setN(String n) {
		this.n = n;
	}
	public String getSaldo() {
		return saldo;
	}
	public void setSaldo(String saldo) {
		this.saldo = saldo;
	}
	public String getObs() {
		return obs;
	}
	public void setObs(String obs) {
		this.obs = obs;
	} 

}[/quote]

Como posso fazer o método getCellValueAsString aceitar Date ?

Grato pessoal!

Alguém pode me ajudar com esse código? eu estou usando a apostila FJ-21 da Caelum fiz algumas alterações no código pois estou implementando uma mini loja, estou com problemas para converter a data, e algumas outras coisas que não estou entendendo. Ex: Não sei se minha conexão está estabelecendo corretamente.

Se alguém que ja passou por isso puder me ajuda eu ficarei muito grato!

Abraço!

Estou usando Eclipse Indigo, MySQL 5.5 e o connector mysql-connector-java-5.1.15 e Apache Toncat 7

[b]Mensagem de erro: :?:

HTTP Status 500 -

Tipo de relatório de exceção

mensagem

Descrição O servidor encontrou um erro interno () que o impediu de cumprir este pedido.

exceção

java.lang.NullPointerException
java.text.SimpleDateFormat.parse (SimpleDateFormat.java: 1235)
java.text.DateFormat.parse (DateFormat.java: 335)
Controle.AdicionaCliente.service (AdicionaCliente.java: 47)
javax.servlet.http.HttpServlet.service (HttpServlet.java: 722)
Nota O rastreamento de pilha completa da causa raiz está disponível no Tomcat/7.0.19 Apache logs.

Apache Tomcat/7.0.19[/b]

Código com erro Servlet:

package Controle;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Modelo.Clientes;

@WebServlet("/AdicionaCliente")
public class AdicionaCliente extends HttpServlet {

	private static final long serialVersionUID = 1L;

	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		//Busca o whiter
		
		PrintWriter out = response.getWriter();
		
		//Buscando os parametros no request
		
		String nome = request.getParameter("nome");
		String email = request.getParameter("email");
		String endereco = request.getParameter("endereco");
		String cep = request.getParameter("cep");
		String bairro = request.getParameter("bairro");
		String cidade = request.getParameter("cidade");
		String estado = request.getParameter("estado");
		String pais = request.getParameter("pais");
		String complemento = request.getParameter("complemento");
		String telefone = request.getParameter("telefone");
		String dataTexto = request.getParameter("data_cadastro");
		String senha = request.getParameter("senha");
		Calendar data_cadastro = null;
		
		//Fazendo a conversão da data.
		
        try {   
            Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataTexto);   
            data_cadastro = Calendar.getInstance();   
            data_cadastro.setTime(date);    
        } catch (ParseException e) {   
            out.println("Erro na conversão da Data!");   
            return; // Para a execução do Metodo   
        } 
        
        
        //Monta um objeto clientes.
        Clientes clientes = new Clientes();
		
		clientes.setNome(nome);
		clientes.setEmail(email);
		clientes.setEndereco(endereco);
		clientes.setCep(cep);
		clientes.setBairro(bairro);
		clientes.setCidade(cidade);
		clientes.setEstado(estado);
		clientes.setPais(pais);
		clientes.setComplemento(complemento);
		clientes.setTelefone(telefone);
		clientes.setData_cadastro(data_cadastro);
		clientes.setSenha(senha);
		
		Cliente_DAO dao = new Cliente_DAO();
		
		dao.adiciona(clientes);

		//Imprime na tela.
		
		 out.println("<html>");
		 out.println("<body>");
		 out.println("Cliente " + clientes.getNome() + " Adicionado com sucesso!");
		 out.println("</body>");
		 out.println("</html>");
		
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	
	}

}

Classe Cliente DAO


package Controle;

import java.sql.Connection;
import java.sql.Date;
import java.sql.SQLException;
import Modelo.Clientes;

public class Cliente_DAO {

	private Connection connection;
	
	public Cliente_DAO(){
		this.connection = new Fabrica_Conexao().getConnection();
	}
	
	public void adiciona(Clientes clientes){
		
		String sql = "insert into clientes(nome, email, endereco, cep, " +
   "bairro, cidade, estado, pais, complento, telefone, data_cadastro, senha) values (?,?,?,?,?,?,?,?,?,?,?,?)";	
		try{
			
			java.sql.PreparedStatement stmt = connection.prepareStatement(sql);
			
			stmt.setString(1,clientes.getNome());
			stmt.setString(2,clientes.getEmail());
			stmt.setString(3, clientes.getEndereco());
			stmt.setString(4,clientes.getCep());
			stmt.setString(5, clientes.getBairro());
			stmt.setString(6, clientes.getCidade());
			stmt.setString(7, clientes.getEstado());
			stmt.setString(8, clientes.getPais());
			stmt.setString(9, clientes.getComplemento());
			stmt.setString(10, clientes.getTelefone());
			stmt.setDate(11, new Date(clientes.getData_cadastro().getTimeInMillis())); 
			stmt.setString(12, clientes.getSenha());
						
			stmt.execute();
			stmt.close();
			
		}catch(SQLException e){
			throw new RuntimeException(e);
		}
		
	}

}

Classe que fabrica as conexões:


package Controle;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;

public class Fabrica_Conexao {
	
	public Connection getConnection(){
		System.out.println("Conectando ao Banco");
		try{
			return DriverManager.getConnection("jdbc:mysql://localhost/loja_virtual","root","");
		}catch(SQLException e){
			throw new RuntimeException(e);
		}
	}

}

Classe JavaBeans Cliente


package Modelo;

import java.util.Calendar;

public class Clientes {
	
	private long id_cliente;
	private String nome;
	private String email;
	private String endereco;
	private String cep;
	private String bairro;
	private String cidade;
	private String estado;
	private String pais;
	private String complemento;
	private String telefone;
	private Calendar data_cadastro;
	private String senha;
	
	public long getId_cliente() {
		return id_cliente;
	}
	public void setId_cliente(long id_cliente) {
		this.id_cliente = id_cliente;
	}
	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 String getCep() {
		return cep;
	}
	public void setCep(String cep) {
		this.cep = cep;
	}
	public String getBairro() {
		return bairro;
	}
	public void setBairro(String bairro) {
		this.bairro = bairro;
	}
	public String getCidade() {
		return cidade;
	}
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	public String getPais() {
		return pais;
	}
	public void setPais(String pais) {
		this.pais = pais;
	}
	public String getComplemento() {
		return complemento;
	}
	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}
	public String getTelefone() {
		return telefone;
	}
	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}
	public Calendar getData_cadastro() {
		return data_cadastro;
	}
	public void setData_cadastro(Calendar data_cadastro) {
		this.data_cadastro = data_cadastro;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}

}