Hibernate Query接口 iterate方法:返回查询结果的迭代器

iterate 方法用来返回一个按照从前向后的顺序依次读取数据库记录的 Iterator 对象。该方法的优点是不用一次读取所有数据并转换为 Java 对象;缺点是只能按顺序访问查询结果集,而且不知道结果集中记录的数目。

语法:

iterate()


返回值:Iterator 对象。

示例

在进行 HQL 查询时,调用 iterator 方法返回读取数据库记录的 Iterator 对象,并将读取的结果保存到 List 集合中,关键代码如下:
Session session = sessionFactory.openSession();  //创建session对象
String hql = "from UserForm";  //定义查询HQL语句
Iterator it = null;
List rtnList = new ArrayList();  //定义保存查询结果的List集合对象
try{
  Query query = session.createquery(hql);
  it = query.iterate();  //返回读取数据库记录的Iterator对象
  while(it.hasNext()){  //循环遍历迭代器
    UserForm uf = new UserForm();
    Object[] o= (Object[])it.next();  //获取集合中数据
    uf.setId((Integer)o[0]);  //设置JavaBean属性
    uf.setUsername((String)o[1]);
    uf.setPwd((String)o[2]);
    rtnList.add(uf);  //添加到List集合中
  }
}catch(Exception e){
  System.out.println("查询用户信息时的错误信息:"+e.getMessage());
}

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...