mybatis 中BigDecimal中的0存为null的坑
·
问题点: 做mybatis的插入和修改操作时,java中类型为Bigdicemal时,且值为0时,存入到数据库中的值为null,而不是0,其它的非0值正常
部分代码如下:

有问题的属性

可以看到是 Begdecimal 类型,对应查出来的日志如下: 可以看到,插入时存的是0, 但是入口后进行查询变成了null

最终修改方法:
把 去掉bigDecimalNum !=''后正常

经过查询得出结论:
mybatis中的类型判断是弱类型,而不是java中的强类型。mybatis会自动把BigDecimal类型转为string,即0变为null啦
同样的,Integer 类型如果这样判断也会有这个问题,
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)