java中java.util.Date和java.sql.Date之間的關系和使用選擇


關系:

java.util.Date是java.sql.Date的父類

 

區別:(java.sql.Date包含年月日信息,java.util.Date包含年月日時分秒)

1:“規范化”的java.sql.Date只包含年月日信息,時分秒毫秒都會清零。格式類似:YYYY-MM-DD。

當我們調用ResultSet的getDate()方法來獲得返回值時,java程序會參照"規范"的java.sql.Date來格式化數據庫中的數值。

如果數據庫中存在的非規范化部分的信息將會被截取,如: 2019-07-17 15:43:15 ,那么存在數據庫中的值就是:2019-07-17 00:00:00。

2:那么如果把java.sql.Date值通過PrepareStatement的setDate方法存入數據庫時,java程序會對傳入的java.sql.Date規范化,非規范化的部分將會被劫取。

然而,我們java.sql.Date一般由java.util.Date轉換過來,如:java.sql.Date sqlDate=new java.sql.Date(new java.util.Date().getTime()).
顯然,這樣轉換過來的java.sql.Date往往不是一個規范的java.sql.Date.要保存java.util.Date的精確值,
我們需要利用java.sql.Timestamp

--------

總結來說就是:(dateTimeh和date是數據庫字段的類型)

java.util.Date + TIMESTAMP + dateTime

java.sql.Date + DATE +date


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM