SSM之一步一坑:数据库datetime类型与实体date类型 时间格式转换

问题描述

使用SSM返回Json对象时,发现数据库中datetime的数据字段返回的是date时间戳,如图

查看所涉及到实体时间类型为如图

实体中设置的为date时间戳类型,在页面中需要显示的是"yyyy-MM-dd HH:mm:ss"这种时间格式

解决方案

将实体中的date时间戳改为指定datetime类型时间字段

在SSM进行时间格式转换时,需要在实体中加上如下

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") ,即可将date返回的对象为指定的类型。

同时需要在SSM项目中引入JsonFormat方法的包,如下在pom.xml 中加入


		
			com.fasterxml.jackson.core
			jackson-databind
			2.4.2
		 
		
			com.fasterxml.jackson.core
			jackson-core
			2.8.5
		
        
            com.fasterxml.jackson.core
            jackson-annotations
            2.9.9
        

在SSM的是实体中找到该字段的get方法,

 

SSM之一步一坑:数据库datetime类型与实体date类型 时间格式转换_第1张图片

再次查询时就会将date字段转换为datetime时间字段,如图

 

以上是使用JsonFormat从数据库中读取的时间格式转换

将使用date类型的时间以datetime类型存储到数据库

解决方案如同上述

在实体中的date时间变量中加上如下包,如图

SSM之一步一坑:数据库datetime类型与实体date类型 时间格式转换_第2张图片

即可实现上述问题

整理

1、在实体中使用date类型set数据库中的datetime类型,并在页面中以"yyyy-MM-dd HH:mm:ss"显示,需要使用@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") ,对date变量进行注解

2、将date类型以datetime格式存储到数据库,需要使用到@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") ,对date变量进行注解

3、对于页面和数据库中的时间类型转换中,最好在数据库中都是用相同时间类型,比如都是用date类型,然后在SSM项目中对date类型转换为所需求的格式

具体关于实体时间类型date和数据库时间datetime类型的转换解决方案请转至

https://blog.csdn.net/zimojiang/article/details/83412965

你可能感兴趣的:(SSM之一步一坑)