今天遇到 一个问题,用户购买的使用次数在从1减到0的时候,无法将0这个数字更新到数据库表中,这就相当于如果用户购买1次或曾经购买过使用到最后1次等价于无限次。所以看似很小的一个bug却有可能导致巨大损失。
废话少说上图:
Debug发现是走了更新接口的:
接下来看数据库的表现:
根源在这里:
总结:做数字字段更新的时候不要使用 and number!=0或者and number!=''。否则将会被mybatis拦截。这种情况大部分是因为疏忽导致的。所以写代码的时候要心细。
今天遇到 一个问题,用户购买的使用次数在从1减到0的时候,无法将0这个数字更新到数据库表中,这就相当于如果用户购买1次或曾经购买过使用到最后1次等价于无限次。所以看似很小的一个bug却有可能导致巨大损失。
废话少说上图:
Debug发现是走了更新接口的:
接下来看数据库的表现:
根源在这里:
总结:做数字字段更新的时候不要使用 and number!=0或者and number!=''。否则将会被mybatis拦截。这种情况大部分是因为疏忽导致的。所以写代码的时候要心细。