一. 问题
- 当在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()方法。
本文探讨了在使用MyBatis进行数据库查询时,针对不同类型的返回值(实体对象与List集合),在无记录匹配情况下返回的具体形式。强调了在进行空值判断时的区别,对于返回实体对象的情况,应使用==null判断;而返回List集合时,应使用CollectionUtils.isEmpty()方法。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   1054
					1054
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            