Ex… tenho um atributo Date que precisa receber uma str e gravar no bd
PublicclassGerente{privateDatedataNascimento;gettersesetters...}//na classe principal como atribuo um valor valida a date eu fis assimStringdata=// Vai receber um data no formato xx/xx/xxxx por um JOptionPaneDatedataNasc=newDate(data);sóquequandofaçoGerenteg=newGerente();g.setDataNascimento(dataNasc);MySQL://Só que quando grava no bd aparece isso na column -> 1993-01-05 00:00:00
Ex.. tenho um atributo Date que precisa receber uma str e gravar no bd
PublicclassGerente{privateDatedataNascimento;gettersesetters...}//na classe principal como atribuo um valor valida a date eu fis assimStringdata=// Vai receber um data no formato xx/xx/xxxx por um JOptionPaneDatedataNasc=newDate(data);sóquequandofaçoGerenteg=newGerente();g.setDataNascimento(dataNasc);MySQL://Só que quando grava no bd aparece isso na column -> 1993-01-05 00:00:00
Oi!
Como definiu o campo na sua tabela? Normalmente defini-se como um Timestamp, se for o caso, deve salvar dessa forma.
E como queres que apareça em sua base de dados?
Abraços.
mausexdd
o campo na tabela foi gerado automaticamente com Hibernate.
PublicclassGerente{//chame o metodo da classe ConverteData()ConverteDataconverte=newConverteData();//instancio privateDatedataNascimento;//getters e setters...}Datedata=asuaJFormat.getDate();//pego formato date StringdataFormatada=converte.ConverteMysql(data);DatedataNasc=newDate(dataFormatada);
PublicclassGerente{//chame o metodo da classe ConverteData()ConverteDataconverte=newConverteData();//instancio privateDatedataNascimento;//getters e setters...}Datedata=asuaJFormat.getDate();//pego formato date StringdataFormatada=converte.ConverteMysql(data);DatedataNasc=newDate(dataFormatada);
Fabin, entendo que teu objetivo é ajudar, porém, há muitos meios melhores que este.
Veja bem, se ele for utilizar PreparedStatement (o que é altamente recomendado) ou mesmo CallableStatement (para chamar stored procedures) ele terá à sua disposição o setDate que recebe como argumento um java.sql.Date.
A resposta passada pelo lucasgcp é a mais adequada, neste caso.
Creio que o melhor é ensinar da forma mais adequada (pois ele poderá ter dificuldades em se readaptar, digo isto por experiência própria).
Além do mais, fica mais fácil e elegante utilizar esta abordagem e não misturar Date com String.
PublicclassGerente{//chame o metodo da classe ConverteData()ConverteDataconverte=newConverteData();//instancio privateDatedataNascimento;//getters e setters...}Datedata=asuaJFormat.getDate();//pego formato date StringdataFormatada=converte.ConverteMysql(data);DatedataNasc=newDate(dataFormatada);
Fabin, entendo que teu objetivo é ajudar, porém, há muitos meios melhores que este.
Veja bem, se ele for utilizar PreparedStatement (o que é altamente recomendado) ou mesmo CallableStatement (para chamar stored procedures) ele terá à sua disposição o setDate que recebe como argumento um java.sql.Date.
A resposta passada pelo lucasgcp é a mais adequada, neste caso.
Creio que o melhor é ensinar da forma mais adequada (pois ele poderá ter dificuldades em se readaptar, digo isto por experiência própria).
Além do mais, fica mais fácil e elegante utilizar esta abordagem e não misturar Date com String.
Concordo plenamente com vc…o bom q ja fica a dica!!!