一. 问题
- 当在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))
// ...
}
本文探讨了在使用MyBatis进行数据库查询时,针对不同类型的返回值(实体对象与List集合),在无记录匹配情况下返回的具体形式。强调了在进行空值判断时的区别,对于返回实体对象的情况,应使用==null判断;而返回List集合时,应使用CollectionUtils.isEmpty()方法。
1095

被折叠的 条评论
为什么被折叠?



