栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot中使用@JsonFormat无效

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot中使用@JsonFormat无效

有如下实体类
class Stu {
    private Date birthday;
    //getter and setter
}
日期格式数据入库

对于日期格式的数据,一般前台会传入一个13位的Long类型,在Controller中使用@RequestBody可以将long类型的数据直接转换成Date类型,存入数据库时也不需要做额外的工作。

	@PostMapping("/insertStu")
    @ResponseBody
    public 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 into stu(birthday) values (#{stu.birthday})
    
日期格式查询

当我们需要查询日期信息时,一般会将其转换成宜读格式,如"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
  1. 如果返回的是resultType,那么select出来的列名要和实体类字段名一致。
  2. 如果返回的是resultMap,那么select出来的列名要和column一致。
    
        
    
DateTimeFormat

DateTimeFormat可以用来接收单个参数,可以将字符串转成日期格式。

	@GetMapping("/date")
    public void date(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date) {
        System.out.println(date);
    }

在Postman中测试

参考

@JsonFormat失效解决。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914171.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号