一. 问题
- 当在Dao层查询时,如果没有数据时返回的List是null么?
Emp emp = EmpDao.queryEmp(id);
List<Emp> list = EmpDao.queryEmpInfo(params);
二. 结论
- 如果Dao的返回值是实体,则mybatis查询无记录时返回null。因此,这里判空需要用
==null
- 如果Dao的返回值是List,则mybatis查询无记录是返回的是[],即空集合,而不是null。因此,这里判空需要用
CollectionUtils.isNotEmpty()
。
Emp emp = EmpDao.queryEmp(id);
if(emp==null){
// ....
}
List<Emp> list = EmpDao.queryEmpInfo(params);
if(CollectionUtils.isEmpty(list))
// ...
}