当我们使用mybatis框架连接mysql数据库时,操作 时间类型的数据时,会遇到以下两种情况:
问题一.存入的数据在数据库里面显示只有年月日,时分秒全部是是0,如: 2019-08-02 00:00:00
简述发生场景:这种情况,是因为mysql数据库里的相关字段的类型是 date,xml使用的类型也是DATE,java字段类型也是Date, 只截取了年月日。
问题二.存入的数据显示年月日时分秒,但是取出来作为接口返回值时,统一变成了时间戳,如:1562345092000
简述发生场景:这种情况,是因为mysql数据库里的相关字段类型是datetime,xml使用的类型,是TIMESTAMP,java字段类型是Date,所以数据库里面能正常显示时分秒,但是当取出的值需要放入ResponseBody返回时,发现变成了时间戳。
PS:存入的时间在数据库里面显示发现时间对不上,少了好几个小时的情况,直接在连接数据库的url后拼接上&serverTimezone=GMT%2B8
如:
url=jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
以上两种情况都是非常常见的,那么我们应当怎么