日期:2014-05-20  浏览次数:21587 次

怎么判断List中是否有数据?
String   hql= "select   user.userid   from   Userinfo   user   where   user.loginname= 'test '   ";
Session   sess   =   HibernateSessionFactory.currentSession();
List   list   =   sess.createQuery(hql).list();

怎么样判断list中有查询出的数据呢?

list   !=null;

list.isEmpty();   都不行啊..

大家帮帮我



------解决方案--------------------
size()也可以,isEmpty()不可能不行的~
------解决方案--------------------
list 里面有个成员方法
boolean isEmpty()
如果列表不包含元素,则返回 true。
------解决方案--------------------
List list = null;
没有实例化
用List list = new List();试试

------解决方案--------------------
?
List list = null;
boolean flag = list.isEmpty();
System.out.println(flag);

怎么会出现NullPointerException 异常?
------------------------------------------------
当然了,你的list没有实例化,现在是null。

如果HSQL没有结果集返回,你就直接给list一个值:list = new Vector();
------解决方案--------------------
List list = null;
boolean flag = list.isEmpty();
System.out.println(flag);

怎么会出现NullPointerException 异常?


--------------  不出现异常才怪呢。

list是null,再执行它的方法,呵呵。
------解决方案--------------------
首先,你的HQL语句有group by从句么?
可以这样判断:
Session sess = HibernateSessionFactory.currentSession();
List list = sess.createQuery(hql).list();
if(list!=null&&list.size()> 0){
//执行你的代码
}
------解决方案--------------------
当查不出数据的时候,list不等于NULL,但是他的size()=0
------解决方案--------------------
count(*)是始终返回一行数据的,如果sql没有查找到数据库纪录
返回的结果会是0和空,所以list.size()最少会是1
------解决方案--------------------
1.首先你把select user.userid from Userinfo user where user.loginname= 'test '到数据库分析器上跑一下,是否有数据。
2。 List list = sess.createQuery(hql).list();如果这句没错误,那么list就会被初始化,所以不会是null,但是里面的size因为没有select出数据可能是0。
3。至于list里面数否有数据,你绝对可以用size()or isEmpty()方法判断.
------解决方案--------------------
list.size()看看是不是等于-1,如果是表示为空。