这是一个实习生在实际开发中遇到的问题,问题出现在openjdk和oraclejdk的区别。
在controller层中传入的对象中有一个字段为Integer时,如果转入数值为0。在mybatis的xml配置文件里面的if语句<if test="online!= null and online!= ''">回进入不了。因为在oraclejdk中,会把对象中为0的Integer类型的字段判断为''。如果我传入的对象里面有个private Integer online属性并复制为0 。oraclejdk会把这个属性认定为''。
解决办法:在controller层中传入参数改为
Map<String, Object> param
<if test="online!= null and online!= ''">这样在oraclejdk中就可以进入这个判断。