存储日期以及查询日期格式_日期@Temporal相关注解问题

前言

项目中经常会用到与日期相关的注解,这里简单介绍下吧

第一种:——》实体类会封装成日期“yyyy-MM-dd”的 Date类型。
第二种:——》实体类会封装成时间“hh-MM-ss”的 Date类型。
第三种:——》实体类会封装成完整的时间“yyyy-MM-dd hh:MM:ss”的 Date类型。

1、@Temporal(TemporalType.DATE)

如果字段为date类型,则非常匹配,查询出来到前台的处理直接就是2019-01-24

如果数据库字段为datetime类型,则,数据库时分秒会变成00:00:00,但是到了前台只显示年月日

2、@Temporal(TemporalType.TIME)

数据库字段为datetime 类型

insert插入报错:Incorrect datetime value: ‘17:31:28’ for column ‘cdate’ at row 1

查询是没有问题的,到前台自动处理变成时分秒,如下
所以,一般不要使用它(因为就没有一个字段是只保存时分秒的,毫无意义啊~~~~)

//    {
   
//        "id": 1,
//            "dateT": null,
//            "dateTTime": null,
//            "dateTTimesTamp": null,
//            "dateTimeFormat": null,
//            "dateTDate": null,
//            "cdate": "17:31:28",
//            "udate": 1548322288000
//    }

//   @Temporal(TemporalType.TIME) 
    @ApiModelProperty(value = "dateTime类型 TemporalType.TIME date类型为 hh-MM-ss",dataType = "date")
    private Date dateTTime ;
    

3、@Temporal(TemporalType.TIMESTAMP)

非常正常的数据处理,返回到前台就是一个时间戳,到了库里面,年月日,时分秒

4、前面3个的总结

即使上面各有各的转化格式,但是在我们设置Controller它们所匹配的字段接收的时候,还是根据前台出来的值进行接收的(前台传来什么,我们在运行代码的时候就是什么,和上面的3中主键没有关系),只不过在入库,或者是在铺数据到前台的时候会发生一些格式转化。

4、格式化到前台,使用率非常高

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

5、格式化到数据库

 1.	@DateTimeFormat(pattern = "yyyy-MM-dd")//存日期时使用,还是算了包。存日期我这里有问题 ,一般也没必要整这个 
 2.	private Date startTime;  

测试

1、实体类


package com.hlj.entity.db.demo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.annotations.UpdateTimestamp;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.util.Date;

/**
 * 作者 :HealerJean
 * 日期 :2019/1/24  下午5:10.
 * 类描述:
 */
@Entity
@Table(name = "demo_entity_date")
@Data
@Accessors(chain = true)
@ApiModel(value = "D04-测试Temporal 日期格式问题")
public class D04DateEntity {
   

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(value = "demo01update 主键")
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值