首页 > 编程笔记 > Java笔记

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());
}

所有教程

优秀文章