自定义注解实现金额存储为分,显示为元

前言:我们都知道金额类型一般为BigDecimal(Double、Float会丢失精度),但数据库(MySQL)存储可以为intbigintnumeric、==decimal(18, 2)==等。

这里,我选择在数据库中金额存储单位为,即存储类型为bigint,展示的时候单位为。每次手动存储时*100,取出时/100感觉很麻烦,所以用到了自定义注解在序列化和反序列化时对金额进行操作。

1.金额所在实体类

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class User {
   
	@BigDecimalMaxPrecision//自定义注解验证金额保留小数位数不超过2位
    @JsonSerialize(using = BigDecimal2Serialize.class)
    @JsonDeserialize(using = BigDecimal2Deserialize.class)
    private BigDecimal balanceAmount;
}

我们需要实现:反序列化时金额*100,序列化时/100

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值