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

關係:java

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

 

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

1:「規範化」的java.sql.Date只包含年月日信息,時分秒毫秒都會清零。格式相似:YYYY-MM-DD。blog

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

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

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方法

--------im

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

java.util.Date + TIMESTAMP + dateTime

java.sql.Date + DATE +date

相關文章
相關標籤/搜索