@JsonFormat——@ResponseBody返回带有Date的Pojo实体类

来源:互联网 发布:飞豆打印软件免费版 编辑:程序博客网 时间:2024/06/06 01:58

//出参

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

//入参

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")

1)入参时,请求报文只需要传入yyyymmddhhmmss字符串进来,则自动转换为Date类型数据。

2)出参时,Date类型的数据自动转换为14位的字符串返回出去。



pojo的bean里面通常会有Date类型的数据,直接通过@ResponseBody返回出去的是一个长整型时间戳(从1970到该变量时间的毫秒数),关于原因,网上很多,此处不细讲。如果想要返回自定义的日期格式,如:yyyymmddhhmmss,需做相关处理,网上有很多处理方式,大体都是继承、重写,比较复杂。实际上JSON已有注解@JsonFormat支持,使用实例:

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//中国是东八区

private Date ts;


@Entity@Table(name="mession")@DynamicInsert(true)public class Mession {@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="pk_id",length=11)private Integer pk_id;@Column(name="m_name")private String m_name;@Column(name="m_time")private String m_time;@Column(name="meaparam_id")private Integer meaparam_id;@Column(name="ts")@Temporal(TemporalType.TIMESTAMP)//获取数据库时间格式@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//Hibernate中@ResponseBody返回的时间格式private Date ts;@Column(name="dr")private Integer dr;public Mession() {super();// TODO Auto-generated constructor stub}public Mession(Integer pk_id, String m_name, String m_time,Integer meaparam_id, Date ts, Integer dr) {super();this.pk_id = pk_id;this.m_name = m_name;this.m_time = m_time;this.meaparam_id = meaparam_id;this.ts = ts;this.dr = dr;}get/set()}



阅读全文
0 0
原创粉丝点击