记录最近在开发过程中遇到了一个问题。
我想将表中taxes字段(bigdecimal 类型)的值修改为0,于是通过前台传值,后台接受,然后通过mybatis 去进行修改,发现表中的值并没有发生改变。
mybatis 中修改sql 如下图
难道是taxes 传值没有成功?后台没接收到?
于是打开debug调试,发现后台是接受到了taxes值的,不知道为什么到了mybatis就没了
我试着把taxes设为 1 ,然后去修改,发现能修改成功。我猜想mybatis中bigdecimal 将0 当作null给处理掉了。
那就改变 mybatis中update的sql 语句吧,如下图,把if条件给去了。
然后重试,修改成功。
但是 我不知道有什么办法去区分mybatis 中 bigdecimal类型的字段没传值与传值为0 的区别0.0。
希望路过的大神们能指点指点。【抱拳】【抱拳】