這邊將日誌信息記入資料庫時,發現資料庫日誌具體時間丟失,只保留了日期。 我這邊環境是(SRPINGMVC+Mybatis,mysql版本5.6.28以上),java層使用類型為java.util.Date,數據欄位類型為date 參考了一些網上的說法,基本描述是說: date:只有日期,沒有時間,2 ...
這邊將日誌信息記入資料庫時,發現資料庫日誌具體時間丟失,只保留了日期。
我這邊環境是(SRPINGMVC+Mybatis,mysql版本5.6.28以上),java層使用類型為java.util.Date,數據欄位類型為date
參考了一些網上的說法,基本描述是說:
date:只有日期,沒有時間,2016-09-21;
time:只有時間,沒有日期,23:42:31;
datetime:日期時間都有,2016-09-21 23:42:31 。
timestamp:可以在進行Insert或者update的時候自動的為你插入時間,時間格式:2016-09-21 23:42:31
(參見:http://blog.csdn.net/Fasure_Smile/article/details/52619686)
應對方案基本如下:
一、改用java.sql.Timestamp
二、傳日期形式的字元串,在存儲過程接收到後在存儲過程中使用to_date處理,對於輸出的使用to_char處理
三、傳TO_DATE字元串進存儲過程
(參見:http://blog.csdn.net/lifuxiangcaohui/article/details/11529547)
我這邊實測,實際上只需要mysql使用datetime類型即可,datetime既可以設置預設值為now(),同時java層也可以直接使用java.util.Date類型。即實際上原因是date類型只足夠保存日期,將欄位拓展為datetime即可。