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

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

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

Jackson 可以:

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);

第二种方法:

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
posted @   zhjh256  阅读(988)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2016-07-28 oschina/git github使用指南
2016-07-28 couchbase单向同步
点击右上角即可分享
微信分享提示