目录
1.mysql中,关于时间的两种类型
1.1 date
1.2 datetime
2.mybatis从mysql数据库查询出上述两种类型的字段后,映射到Java实体类时的问题
3.结语
1.mysql中,关于时间的两种类型
1.1 date
格式:2002-09-23
特点:只存储年、月、日,不存储时、分、秒
对应JAVA的类型:
java.sql.Date
1.2 datetime
格式:2025-03-09 12:37:09
特点:存储年、月、日、时、分、秒
可以对应的JAVA类型(不唯一):java.time.LocalDateTime
2.mybatis从mysql数据库查询出上述两种类型的字段后,映射到Java实体类时的问题
问题描述:如下面3张图所示,我们数据库中的datetime类型的字段,格式明明是年-月-日 时:分:秒, 但是使用apifox查到的数据却多了个T。
数据库的字段:
java实体类的对应属性:
使用apifox查询后端接口时,得到的数据:
解决方案:在Java实体类的对应属性上,添加一个注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
格式化后的效果:
同理:如果是Date类型的属性,应该加上注解
@JsonFormat(pattern = "yyyy-MM-dd")
3.结语
以上就是关于mybatis查询时,时间字段的映射问题。
喜欢本篇文章的话,可以留个免费的关注~~