1. 程式人生 > >java中儲存mysql資料庫時間型別【date、time、datetime、timestamp】

java中儲存mysql資料庫時間型別【date、time、datetime、timestamp】

在mysql中對於時間的儲存自己見表的時候都是設定的varchar型別的,感覺挺方便的。

昨天拿別人建好的表寫程式碼,發現這張表中時間型別為datetime的,憑感覺試了一下不行,網上查了剛開始試了好幾個都是不對的,一臉懵逼。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

圖片被吃了

如圖,mysql中的datetime型別資料對應的是java中的Timestamp類。

date:只有日期,沒有時間,2016-09-21;

time:只有時間,沒有日期,23:42:31;

datetime:日期時間都有,2016-09-21 23:42:31 。

timestamp:可以在進行Insert或者update的時候自動的為你插入時間,時間格式:2016-09-21 23:42:31。

用navicat找了一張表添加了一個timestamp的欄位,如下:


匯出表結構看到該欄位sql為:`time_test` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,

言歸正傳,本次資料庫中用的是datetime型別的,在java中生成可以儲存的時間資料方法如下:

Date date = new Date();       
Timestamp timeStamep = new Timestamp(date.getTime());
System.out.println(timeStamep);
//輸出結果: 2016-09-22 10:38:14.964
可以看到得到的結果還帶有毫秒這個可以直接儲存,到資料庫裡面就自動去掉毫秒了,另外在資料庫中存入的不帶毫秒的時間,在java中從資料庫獲取該時間後也是帶有毫秒的,只是毫秒為為0。 參考連結: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 還在上班,老大在背後坐著呢安靜
,其它資料型別的獲取應該也沒什麼難度,下次有時間了再總結。
如有異議,歡迎指正。