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,如果是表示为空。