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类型


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM