list.size() = 1 , 但是遍历集合,却报空指针。并且数据量大的情况下,页面会引起网络异常。

首先,我的业务场景是一个搜索列表的分页实现,采用的是PageHelper自动分页实现。
下面是代码的实现,明明sql查出来list是不为空的,并且我也做了非空的判断,但是仍然报了空指针。
list.size() = 1 , 但是遍历集合,却报空指针。并且数据量大的情况下,页面会引起网络异常。

最终,我把控制台的脚本拷贝出来后,到数据库去运行,发现查出来的全部为空。那既然为空,为什么size又为1呢?

 
 
 
 
原来是我在sql中用了lift join 关联了多张表查询数据,其中有个求一张表中的所有账单的统计金额,用了sum这个函数求值,但是我却没有用Group by进行分组,这样哪怕是所有数据都为空,但任然会有1条数据为全空的数据。 并且数据量大的情况下,是需要很久的时间去运行这个sql 导致长时间不返回数据,引起网络异常。
list.size() = 1 , 但是遍历集合,却报空指针。并且数据量大的情况下,页面会引起网络异常。