开发者

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

    上一篇:

    下一篇:

    精彩评论

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

    最新开发

    开发排行榜