mybatis查询无命中记录时返回的list为[null] size为1

在使用Mybatis查询数据的时候,设定查询条件,使其没有命中纪录,这时返回的内容为[null],size为1,因此通过null == list无法判断,0 == list.size()也无法判断,甚至借鉴了CollectionUtils.isEmpty(list)去判断是否为空,但都不好使。

当然,我们知道了返回的数据格式,必然有办法对这种情况下的list进行处理,但是还是对这种情况不理解,对比和之前使用相同方式获取数据的sql,唯一的不同就是这次我们使用了SUM()复合函数

将复合函数干掉以后,正常了,无数据时,变成了之前的[]。

因此,在使用复合函数并且返回list样式的时候,可以使用if(1 == list.size()&& null == list.get(0) || 0 == list.size())来判断,这样无论是返回[null]还是返回[],都可以在这个判断中处理。

做下记录,将来忘记了方便查找。

 

你可能感兴趣的:(mybatis查询无命中记录时返回的list为[null] size为1)