Spring中日期格式转换

时间:2022-11-05 18:08:14

一、背景

使用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/> 

 

三、以上所涉及相关知识,请自行查阅