JS处理Long类型数据转为Number类型导致精度丢失问题

 JS处理Long类型数据转为Number类型导致精度丢失问题

阿里巴巴手册明确指出

解决办法

全局配置

@Configuration

 public class JacksonConfiguration {

    @Bean
    public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
        return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder
                .serializerByType(Long.class, ToStringSerializer.instance)
                .serializerByType(Long.TYPE, ToStringSerializer.instance);
    }
}

 

注解方式(全局与注解都存在,则优先优先使用注解)

 

public class ProductVo {
​
    @JsonSerialize(using=ToStringSerializer.class)
    private Long productId
​
    private String productName;

 

解决方式三(不建议修改数据库)

将数据库中的long改为varchar()类型,java实体使用String类型

posted @ 2020-06-28 14:12  永无八哥  阅读(4389)  评论(0编辑  收藏  举报