如何解决Long类型精度丢失问题?

1,138 阅读1分钟

精度丢失案例:

添加时,使用Mybatis的雪花算法自动生成teacherVideoId的值,返回到courseId中。

image.png

修改时,修改不成功。

image.png

查看后台原因,发现添加成功返回的courseId的后二位精度丢失变成默认值0,才导致的未知错误。

image.png

解决方法一:

1.实体类添加注解:

@JsonSerialize(using = ToStringSerializer.class)

image.png 2.添加成功后,将获得的值转成字符串。

image.png

解决方法二:

主键id使用String类型存储。更改数据库设计。(不推荐,不能轻易修改数据库,负责后果很严重!)

解决后的效果:

可以看到返回后的值数据正确!

image.png