tulip notes
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Star-Lord

希望一天成为大师的学徒
首页
  • 学习笔记

    • 《Vue》
  • 踩坑日记

    • JavaScript
  • MQ
  • Nginx
  • IdentityServer
  • Redis
  • Linux
  • Java
  • SpringBoot
  • SpringCloud
  • MySql
  • docker
  • 算法与设计模式
  • 踩坑与提升
  • Git
  • GitHub技巧
  • Mac
  • 网络
  • 项目构建合集
  • 一些技巧
  • 面试
  • 一些杂货
  • 友情链接
  • 项目发布
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 一些技巧

  • 面试

    • 面试问题集锦
    • Java热点经典问题集锦_1
    • Java中类跟数据相关问题_1
    • Java集合相关问题
    • Java并发与异常相关问题
    • Java循环条件判断相关
    • Redis面试题
    • 实际场景问题_1
    • 框架类技术问题集锦-1
    • 开发中遇到的问题_1
      • 日期格式相关问题
        • mybatis将时间存入数据库后,只有日期对的,时分秒全是0?
        • 日期格式反序列化报错
    • MySql面试相关
    • Java中业务相关问题
    • 软件测试面试问题
    • 软件测试面试answer
    • Java八股文系列
  • 一些杂货

  • 项目发布

  • 友情链接
  • 更多
  • 面试
EffectTang
2023-11-10
目录

开发中遇到的问题_1

# 开发中遇到的问题_1

# 日期格式相关问题

# mybatis将时间存入数据库后,只有日期对的,时分秒全是0?

将实体类的属性类型设置为java.sql.Date 如果你想在实体类中使用java.util.Date, 则要注意: 完整的日期时间,要确保jdbcType不填

  • 只需要时间,要指定jdbcType=”TIME”
  • 只需要日期,要指定jdbcType=”DATE”

于是将映射的XML文件里的,jdbcType="DATE"这段代码清了就可以了。

如果不指定jdbcType=DATE,那么Mybatis会默认jdbcType=TIMESTAMP类型

# 日期格式反序列化报错

运行出现如下异常:com.fasterxml.jackson.databind.exc.InvalidFormatException

可能原因:jackson默认的日期反序列不支持yyyy-MM-dd HH:mm:ss 这种格式,所以反序列化失败

解决方案:

重写jackson反序列化:

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
 
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class CustomJsonDateDeserializer extends JsonDeserializer<Date> {
 
    @Override
    public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String date = jp.getText();
        try {
            return format.parse(date);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

参考链接 (opens new window):https://blog.csdn.net/weixin_44530708/article/details/124016733

上次更新: 2025/04/23, 16:23:16
框架类技术问题集锦-1
MySql面试相关

← 框架类技术问题集锦-1 MySql面试相关→

最近更新
01
面向切面跟自定义注解的结合
05-22
02
时间跟其他数据的序列化
05-19
03
数据加密与安全
05-17
更多文章>
Theme by Vdoing | Copyright © 2023-2025 EffectTang
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式