问题:前端传String类型的时间格式,后端拿到时间要与数据库的时间进行比较,经常出现类型不同无法比较的问题。
根据个人而言特此记录一下。
1.首先在数据库中创建一张表时,本人会创建三个不同的类:
a. PO(实体类)
这里的时间类型最好写成java.util.* 包下自带的类型,一般我不会对实体类做任何操作
b. TDO(数据传输对象)
这里也是使用java.util.* 包下自带的类型,但最好加上
@DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
这两个注解对时间进行格式化
c. QO (查询请求条件)
这里的时间就写为String类型,但也要对时间进行格式化,是为了在xml文件中与数据库的文件进行比较时,格式保持一致,类型也一直,我们一般在数据库村属的时间格式为:datatime 类型 ,映射到 xml 文件中时会转化为String类型 ,这是我们做时间比较时就可以之间用 大于/等于/小于 来进行比较,但注意在xml文件中的 大于为:> ,小于为:< ,等于为:= 。
声明:这是本人实践出来的,并不知道这样的的问题所在,请大佬留言,应该注意什么。谢谢!
但还是建议使用时间戳类型,毕竟严谨一些