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

 

你可能感兴趣的:(MyBatis-Plus)