springboot jdk8 LocalDateTime LocalDate 自定义convert 含tk.mybatis 3.5

Jackson

springboot 转换 @ResponseBody 自定义用的是 jackson,用Date类型是没有任何问题。

但JDK8的java.time.LocalDateTime 之类的时间类型 就不能正常 convert。

找了些分享文档,大多数提到引用:

compile group:'com.fasterxml.jackson.datatype',name:'jackson-datatype-jsr310',version:'2.9.3'

然后配置 spring.jackson.serialization.write_dates_as_timestamps: false;

可是尴尬的是虽然起了作用但是并没有达到我们的预期,自定义 之类的。

这里贴出我的配置:

@Configuration
public class CommonConfiguration {

    @Bean
    public Module jsonMapperJava8DateTimeModule() {
        SimpleModule module = new SimpleModule();
        module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")));
        module.addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
        module.addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern("HH:mm")));

        return module;
    }
}

生效结果:


springboot jdk8 LocalDateTime LocalDate 自定义convert 含tk.mybatis 3.5_第1张图片
image.png

tk.mybatis.mapper 3.5.0

项目中用到的是mybatis,之前用Date的时候也是正常。用了LocalDateTime之后,一些调用辅助mapper的更新时间无效了。
解决办法:


springboot jdk8 LocalDateTime LocalDate 自定义convert 含tk.mybatis 3.5_第2张图片
image.png

特此总结。

你可能感兴趣的:(springboot jdk8 LocalDateTime LocalDate 自定义convert 含tk.mybatis 3.5)