SpringBoot中使用@JsonFormat无效
有如下实体类
class Stu {private Date birthday;//getter and setter
}
日期格式数据入库
对于日期格式的数据,一般前台会传入一个13位的Long类型,在Controller中使用@RequestBody可以将long类型的数据直接转换成Date类型,存入数据库时也不需要做额外的工作。
@PostMapping("/insertStu")@ResponseBodypublic String insertStu(@RequestBody Stu stu) {stuService.insertStu(stu);return "OK";}
//Service
int insertStu(Stu stu){return stuMapper.insertStu(stu);
};
//Mapper
int insertStu(@Param("stu") Stu stu);
XML
<insert id="insertStu">insert into stu(birthday) values (#{stu.birthday})</insert>
日期格式查询
当我们需要查询日期信息时,一般会将其转换成宜读格式,如"yyyy-MM-dd"格式。此时可以直接在实体类字段上加上@JsonFormat(pattern = “yyyy-MM-dd”),或者@JSONField(format=“yyyy-MM-dd”)如下:
class Stu {@JsonFormat(pattern = "yyyy-MM-dd")private Date birthday;//getter and setter
}
此时,要注意JsonFormat注解是jackson的注解;JSONField注解是fastjson的注解。用谁序列化就用谁的注解。在xml中返回resultType还是resultMap对格式化不会有影响。
resultType和resultMap
- 如果返回的是resultType,那么select出来的列名要和实体类字段名一致。
- 如果返回的是resultMap,那么select出来的列名要和column一致。
<resultMap id="Stu" type="com.it.bean.Stu"><result column="birthday" jdbcType="TIMESTAMP" property="birthday" /></resultMap>
DateTimeFormat
DateTimeFormat可以用来接收单个参数,也可以作用于实体类的字段,可以将字符串转成日期格式。
@GetMapping("/date")public void date(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {System.out.println(date);}
单个参数
在Postman中测试
实体类属性
@Data
public class Drone {DroneStatus droneStatus;String droneId;@DateTimeFormat(pattern = "yyyy-MM-dd")Date date;
}
@GetMapping("/test1")public String test1(@RequestBody Drone droneInfo) {return "OK";}
参考
@JsonFormat失效解决。
SpringBoot中使用@JsonFormat无效相关推荐
- springboot中引入jquery无效
公式:$(selector).action() 相关网址 https://jquery.cuishifeng.cn/ jQuery.com https://www.w3school.com.cn/jq ...
- 深入源码分析SpringBoot中使用@ConditionalOnBean无效的问题(@ConditionalOnBean did not find any beans of type)
一.前言 最近在使用SpringBoot的@ConditionalOnBean的时候遇到一个很很奇特的问题.即在@Bean中使用@ConditionalOnBean注解,在可以确保需要依赖的Bean一 ...
- springboot中配置了拦截器后,拦截器无效的解决方案之一
springboot中配置了拦截器后,拦截器无效的解决方案之一 参考文章: (1)springboot中配置了拦截器后,拦截器无效的解决方案之一 (2)https://www.cnblogs.com/ ...
- springboot中druid数据源配置无效的问题和jar包找不到问题
springboot中druid数据源配置无效的问题 阿里云的仓库 链接: 阿里云仓库. 自己在springboot项目中,引入druid的依赖,希望引入druid数据源. 但是idea中,虽然在这个 ...
- spring-boot 中实现标准 redis 分布式锁
一.前言 redis 现在已经成为系统缓存的必备组件,针对缓存读取更新操作,通常我们希望当缓存过期之后能够只有一个请求去更新缓存,其它请求依然使用旧的数据.这就需要用到锁,因为应用服务多数以集群方式部 ...
- springboot中的拦截器interceptor和过滤器filter,多次获取request参数
大家好,我是烤鸭: 这是一篇关于springboot的拦截器(interceptor)和过滤器(Filter). 先说一下过滤器和拦截器. 区别: 1. servlet请求,顺序:Filter ...
- SpringBoot 中使用 @Valid 注解 + Exception 全局处理器优雅处理参数验证
作者:超级小豆丁 http://www.mydlq.club/article/49/ 目录 一.为什么使用 @Valid 来验证参数 二.@Valid 注解的作用 三.@Valid 的相关注解 四.使 ...
- java懒加载注解_在springboot中实现个别bean懒加载的操作
懒加载---就是我们在spring容器启动的是先不把所有的bean都加载到spring的容器中去,而是在当需要用的时候,才把这个对象实例化到容器中. @Lazy 在需要懒加载的bean上加上@Lazy ...
- 在springboot中加入Hystrix
在springboot中加入Hystrix pom中加入maven依赖 <dependency><groupId>com.netflix.hystrix</groupId ...
最新文章
- 记录Mask RCNN调整预测网格 font大小
- How does Spring @Transactional Really Work?--转
- 计算机常用端口号汇总
- Python处理千万级数据
- sklearn机器学习实例
- 即这样的WZSZF01代码是错误的
- dj鲜生14-类视图的实现原理+代码
- 库克时期的苹果和乔布斯时期的苹果是否有差距?
- bzoj 4953: [Wf2017]Posterize(DP)
- SQL SERVER 事务例子
- JAVA的延时函数使用
- Swift开发笔记-Mac OS X 天气预报应用开发(Xcode7.2)
- Linux-3.10-x86_64 内核配置选项简介
- 【数据库基础】什么是A、C、 I 、D?
- C/C++中.bss段的解释
- 论文投稿指南——中文核心期刊推荐(科学、科学研究)
- mysql索引linke和等于_MySQL索引介绍和实战
- 两名老人接力营救轻生女子一人溺亡
- 改版后的51la统计,与旧版有何区别呢?
- 计算机应用2010综合测试五,计算机应用基础Word2010综合测试操作步骤参考自测题步骤...