Mybatis提取BigDecimal字段值显示丢失末尾0精度的问题解决

问题如题。
经网络查找,末尾0丢失是设计如此。解决办法是用字符串转换替换。保留原来的decimal字段,由后续处理步骤决定是用decimal,还是String。做到兼备完全。
UserMapper.java中的局部代码为:

@Select("SELECT userid as id,username as name,password,phone,birthday,registerTime,age,salary ," +
            "cast(salary as char) salaryStr FROM t_user WHERE salary=#{salary}")
    List<User> findUserBySalary(@Param("salary") BigDecimal salary);

由Postman查询出来的结果代码片断如下,符合兼而有之的要求:

{
        "id": 8,
        "name": "springboot3.0Mybatis",
        "password": "123",
        "phone": "139",
        "birthday": "2018-08-07",
        "registerTime": "2018-01-01 00:00:00",
        "age": 0,
        "salary": 0,
        "salaryStr": "0.00"
    }

你可能感兴趣的:(Mybatis提取BigDecimal字段值显示丢失末尾0精度的问题解决)