Pracujem s JDBC a MySQL. Mám stĺpec s dátumom, ktorý potrebujem zahrnúť do sady výsledkov. Bohužiaľ, nemôžem nájsť triedu v jazyku Java, aby som získal dátum. Trieda SQL Date je zastaraná. Ako získavate objekty Date z množiny výsledkov?
odpovede:
19 pre odpoveď č. 1Používaš java.sql.Date, Konštruktér a niektoré metódy sú zastarané. Táto trieda nie je zmätená týmto, napr. java.util.Date alebo java.util.Calendar? Pozri na Sense z dátumov Java.
Existujú tri typy dátumu a času JDBC:
- DATE: granularita dní, použitie java.sql.Date;
- ČASOVÁ ZNAČKA: dátum a čas, použitie java.sql.Timestamp;
- TIME, len čas bez dátumu, použitie java.sql.Time.
Zmätok pravdepodobne vyplýva zo skutočnosti, že java.sql.Date rozširuje java.util.Date a tým zdedí jeho zastarané metódy.
Stačí použiť správny typ pre typ vášho stĺpca.
3 pre odpoveď č. 2
Nemyslím si, že trieda java.sql.Date sama o sebe je zastaraná, len jeden z jej konštruktérov. Mali by ste byť v bezpečí pokračovať v jej používaní.
2 pre odpoveď č. 3
Starý príspevok, ale napriek tomu:
Mal som problémy s granularitou java.util.Date a prešiel na java.util.Timestamp. Tiež som zažila obmedzenú granularitu s typom časovej pečiatky (až do sekúnd).
Stĺpce v databáze sú deklarované ako Dátum a na získanie dodatočnej časovej časti som ich získal ako Časovú pečiatku. Problém je, že skráti hodnotu na sekundy.
Skúmal som štandardnú definíciu Oracle pre časovú pečiatku, ktorá umožňuje 6 zlomkových číslic.
Myslím, že časť Date v definícii Oracle obmedzuje časovú značku v jazyku Java ...
Na zdravie, Gražina
1 pre odpoveď č. 4
Triedu java.sql.Date môžete bezpečne použiť na mapovanie typu MySQL DATE. Trieda java.sql.Date rozširuje triedu java.util.Date, takže môžete použiť tento objekt na vykonanie všetkých typov výpočtov dátumu.