Spring中日期格式转换
一、背景
使用SSM+Maven搭建项目
其中Mysql中 日期字段是DATETIME类型
Controller返回给前端的Json数据的是long类型 "Date":"1528324651545"
我需要的是yyyy-MM-dd格式的
二、解决
1.在该实体对应的mapper文件里,修改resultMap中列的数据类型
1 <mapper namespace="com.ssm.mapper.PeopleMapper"> 2 3 <resultMap type="com.ssm.model.people" id="peopleRM"> 4 ..... 5 6 <result property="b_date" column="BIR_DATE" javaType="java.sql.Date"/> 7 8 ..... 9 10 </resultMap>
2.在实体类相应字段的getter方法上加入注解
1 private Date b_date; 2 3 @DateTimeFormat(pattern="yyyy-MM-dd") 5 public Date getB_date(){ 7 return b_date; 9 }
2.1 当然也可以写成如下:
1 private Date b_date; 2 3 @DateTimeFormat(iso=ISO.DATE) 5 public Date getB_date(){ 7 return b_date; 9 }
2.2 当你实体类中的字段为Time类型,则resultMap中列的类型应为java.sql.Time
注解为@DateTimeFormat(pattern="HH:mm:ss")
3.在maven的pom.xml中引入Joda
1 <!-- 日期时间库 --> 2 <dependency> 3 <groupId>joda-time</groupId> 4 <artifactId>joda-time</artifactId> 5 <version>2.3</version> 6 </dependency>
4.在springmvc的配置文件中,增加注解驱动
1 <mvc:annotation-driven/>
三、以上所涉及相关知识,请自行查阅