jackson/fastjson、mybatis、mysql date/datatime/timestamp、java Date/Timestamp关系详解

jackson/fastjson序列化/反序列化:html

默认状况下,jackson/fastjson将java Date/Timestamp类型序列化为时间戳,也就是1970年1月1日0点以来的毫秒数。若是要显示为用户友好表示:java

Jackson 能够:mysql

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
objectMapper.setDateFormat(sdf)
或者:
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")

FASTJSON能够:
@JSONField (format="yyyy-MM-dd HH:mm:ss") 
或者:

 

第一种方法:
JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";
String str = JSON.toJSONString(user,SerializerFeature.WriteDateUseDateFormat);sql

第二种方法:json

JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS")
=================
Timestamp对应MySQL的datetime类型
Timestamp对应MySQL的timestamp类型Date会对应mysql的date类型<result column="modified_date" jdbcType="TIMESTAMP" property="modified_date" javaType="java.sql.Timestamp" />  
<result column="date" jdbcType="DATE" property="date" javaType="java.util.Date" />字段标明:#{modified_date,jdbcType=TIMESTAMP}、#{date,jdbcType=DATE}具体可参考:https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-type-conversions.html
相关文章
相关标签/搜索