1. 程式人生 > >Mybatis-Plus插入和更新自動將date轉換為Timestamp,日期會減少8小時

Mybatis-Plus插入和更新自動將date轉換為Timestamp,日期會減少8小時

     在使用mybatis-plus自帶的插入和更新時,出現了一個神奇的問題,前臺傳入的是Date型別(yyyy-MM-dd),但是在插入的時候,卻發現是Timestamp型別,插入到資料庫發現時間比原來減少了8小時,後來將資料庫日期型別修改為Datetime解決。

    接來下搜尋了一下Timestamp和Datetime的區別:

   轉載自:http://www.cnblogs.com/swey/p/4492450.html

1. 儲存空間不同

a) TIMESTAMP佔用4個位元組

b) DATETIME佔用8個位元組

2. 受時區影響

c) TIMESTAMP實際記錄的是1970-01-01 00:00:01到現在的數數,受時區影響

d) DATETIME不受時區影響

3. 時間範圍不同

e) TIMESTAMP的時間範圍是:'1970-01-01 00:00:01' UTC ~ '2038-01-19 03:14:07' UTC

f) DATETIME的時間範圍是:'1000-01-01 00:00:00' ~ '9999-12-31 23:59:59'

4. 自動更新

g) TIMESTAMP型別在預設情況下,insert、update 資料時,TIMESTAMP列會自動以當前時間(CURRENT_TIMESTAMP)填充/更新。

5. Mysql中,TIMESTAMP和long之間的轉換函式:

h) TIMESTAMP轉long:UNIX_TIMESTAMP

i) long轉TIMESTAMP:FROM_UNIXTIME