mybatis将整数0识别为null


  AND  dev_num = #{deviceNum}

当参数值为0时会过滤掉,此时应该为

AND dev_num = #{deviceNum}

原因是, 一般判断的是String类型

mybatis源码中将0和空字符串都转换为了0.0double类型比较导致判断条件为false,从而过滤了0

而实际deviceNum是INTEGER类型,所以不需要判断deviceNum!=‘’

 

你可能感兴趣的:(mybatis)