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

更多...

加载中...