开发者

mybatis中BigDecimal中的0存为null的坑及解决

开发者 https://www.devze.com 2024-10-29 11:06 出处:网络 作者: yuyue_999
目录myBATis中BigDecimal的0存为null的坑问题点最终修改方法经过查询得出结论最后mybatis中BigDecimal的0存为null的坑
目录
  • myBATis中BigDecimal的0存为null的坑
    • 问题点
    • 最终修改方法
    • 经过查询得出结论
  • 最后

    mybatis中BigDecimal的0存为null的坑

    问题点

    做mybatis的插入和修改操作时,Java中类型为Bigdicemal时,且值为0时,存入到数据库中的值为null,而不是0,其它的非0值正常

    部分代python码如下:

    mybatis中BigDecimal中的0存为null的坑及解决

    有问题的属性

    mybatis中BigDecimal中的0存为null的坑及解决

    可以看到是 Begdecimal 类型,对应查javascript出来的日志如下:

    可以看到,插入时存的是0, 但是入口后进行查询变成了null

    mybatis中BigDecimal中的0存为null的坑及解决

    最终修改方法

    把 去掉bigDecimalNum !=''后正常

    mybatis中BigDecimal中的0存为null的坑及解决

    经过查询得出结论

    mybatis中的类型判断是弱类型,编程而不是java中的强类型。

    mybatis会自动把BigDecimal类型转为string,即0变为null啦

    同样的,Integer 类型如果这样js判断也会有这个问题

    最后

    以上为个人经验,希望能给大家php一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号