程序代码
Session session=HibernateSessionFactory.getSession();
List li=null;
Date d=new Date();
System.out.print(d.toString());
li=session.createQuery("from TgovMaterial").list();
Date d2=new Date();
System.out.print(d2.toString());
...超出内存...

程序代码
Session session=HibernateSessionFactory.getSession();
Iterator it=null;
Date d=new Date();
System.out.print(d.toString());
it=session.createQuery("from TgovMaterial").iterate();
Date d2=new Date();
System.out.print(d2.toString());
Wed Jun 04 09:31:43 GMT 2008Hibernate: select tgovmateri0_.Id as col_0_0_ from [Material-08].dbo.tGovMaterial tgovmateri0_
Wed Jun 04 09:31:43 GMT 2008
不到一秒钟,所以记录较多时,我们推荐使用iterate()
输
出测试:

程序代码
Session session=HibernateSessionFactory.getSession();
Iterator it=null;
Date d=new Date();
System.out.print(d.toString());
it=session.createQuery("from TgovMaterial").iterate();
while(it.hasNext())
{
TgovMaterial t=(TgovMaterial)it.next();
System.out.println(t.getId());
}
Date d2=new Date();
System.out.print(d2.toString());
Wed Jun 04 09:38:17 GMT 2008
.......
Wed Jun 04 09:39:20 GMT 2008
竟然只有一分来钟

程序代码
it=session.createQuery("from TgovMaterial").setFirstResult(1).setMaxResults(50).iterate();
Wed Jun 04 09:41:43 GMT 2008Hibernate: select top 51 tgovmateri0_.Id as col_0_0_ from [Material-08].dbo.tGovMaterial tgovmateri0_
....
Wed Jun 04 09:41:43 GMT 2008
不到1秒

程序代码
it=session.createQuery("from TgovMaterial").setFirstResult(1000000).setMaxResults(60).iterate();
Wed Jun 04 09:53:15 GMT 2008Hibernate: select top 1000060 tgovmateri0_.Id as col_0_0_ from [Material-08].dbo.tGovMaterial tgovmateri0_
....
Wed Jun 04 09:53:18 GMT 2008

程序代码
it=session.createQuery("from TgovMaterial").setFirstResult(1300000).setMaxResults(60).iterate();
Wed Jun 04 09:55:09 GMT 2008Hibernate: select top 1300060 tgovmateri0_.Id as col_0_0_ from [Material-08].dbo.tGovMaterial tgovmateri0_
...
Wed Jun 04 09:55:13 GMT 2008

程序代码
it=session.createQuery("from TgovMaterial").setFirstResult(10000).setMaxResults(60).iterate();
Wed Jun 04 09:55:53 GMT 2008Hibernate: select top 10060 tgovmateri0_.Id as col_0_0_ from [Material-08].dbo.tGovMaterial tgovmateri0_
分享到:
相关推荐
2. `iterate`方法:与`list`不同,`iterate`方法按需加载数据,它返回一个迭代器,每次调用`next()`方法时才会从数据库中获取一条记录。这种方式降低了内存消耗,尤其适合处理大量数据。但缺点是需要更多的数据库...
在iBatis中,`<iterate>`标签是一个非常实用的功能,它允许我们处理集合数据,如数组、List或Map等,进行循环遍历并生成动态SQL语句。下面我们将详细探讨`<iterate>`标签的用法及其示例。 `<iterate>`标签的主要...
Action类`InformationAction`负责处理请求,从中获取`account`信息,然后通过数据库查询获取与之关联的所有账户信息,将结果存储在一个`ArrayList`中,这个列表随后被设置到`HttpServletRequest`的session属性`list`...
`logic:iterate` 是 Struts 标签库中的一个重要组成部分,主要用于在 JSP 页面中循环遍历集合对象(如 List、Array 或 Map 等)。它能够有效地帮助开发者在前端展示动态数据,尤其适用于需要在页面上显示列表或集合...
标题中的“ibatis<iterate>标签”指的是在iBATIS框架中用于动态SQL的一个关键功能。iBATIS是一个优秀的持久层框架,它允许将SQL语句直接嵌入到Java代码中,简化了数据库操作。而`<iterate>`标签是iBATIS提供的一个...
Struts-Logic Iterate标签是Apache Struts框架中的一个重要组件,用于在JSP页面中迭代集合对象,如数组、列表或Map。这个标签提供了一种简洁的方式来遍历数据,并且可以与Struts的其他标签(如`bean:write`)配合...
通过`<iterate>`标签,可以为每个用户对象动态生成一条插入语句,从而一次性插入多条记录。 ### 总结 iBatis框架的`<iterate>`标签提供了强大的动态SQL生成能力,特别是在批量数据操作方面。通过合理设置`property...
jsp脚本和<logic:iterate>标签:实现循环和分支逻辑 jsp脚本和<logic:iterate>标签:实现循环和分支逻辑 jsp脚本和<logic:iterate>标签:实现循环和分支逻辑
logic:iterate 产生问题的图
数据库管理与应用 8.4.6 ITERATE语句.pdf 学习资料 复习资料 教学资源
Map里存放的是List时 <br><logic:iterate id="destMap" name="srcMap"> <br> <logic:iterate id="bean" name="destMap" property="value" /> <br> <bean:write name="bean" property="name" /><br> ...
我们可以通过提供一些辅助函数来遍历链表,比如`list_iterate`,它可以接受一个回调函数,每次遍历到一个节点时调用这个回调。 4. **兼容性**:由于C语言不支持模板,我们不能像C++那样创建泛型容器。因此,`list`...
最后,虽然提供的文件名称是“查看消费记录.doc”,但这似乎与Struts中List嵌套Map的主题不直接相关。通常,消费记录可能涉及数据库操作、报表生成等,这部分内容超出了当前主题,因此在此不做深入探讨。如果你需要...
随机迭代 以随机顺序迭代列表中的值 npm install random-iterate 用法 var iterate = require ( 'random-iterate' ) var ite = iterate ( [ 1 ,... log ( ite ( ) ) // returns null (end of list) 执照 麻省理工学院
本压缩包"Sor_iterate.rar"包含了一个用Fortran编写的SOR方法实现,文件名为"sor_iterate.f90"。 Fortran是一种广泛用于科学计算的编程语言,以其高效和简洁的语法深受科研人员喜爱。在"sor_iterate.f90"中,我们...
而数组为基础的List(如Java的ArrayList)在已知索引的情况下,访问速度更快。 6. **异常安全**:在遍历过程中,如果遇到异常,确保迭代器的状态不会破坏容器的完整性,这是编写健壮代码的重要方面。 7. **遍历...
首先创建一个模拟的`List`,然后定义每批处理的记录数量`partialLimit`。如果`partialLimit`小于`dataList`的大小,则可以通过循环计算出所需批次,并使用`subList()`截取并处理每批数据。处理完每批数据后,需要...
【标题】"Hibernate教程24_Hibernate的补充_list与iterator" 在Java开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了数据库操作。本教程将重点讲解在使用Hibernate时,如何处理查询结果集合...
为了实现Struts与Hibernate结合查询所有记录的功能,我们需要理解以下几个核心概念: 1. **DAO(Data Access Object)模式**:这是一种设计模式,用于封装对数据源访问的所有细节,包括查询、更新等操作。在本案例...
"Iterate Doc" 是一个关于如何遍历和操作最近文档的源代码示例,主要针对的是Visual C++(VC)编程环境。这个项目可能包含了在Windows应用程序中管理和显示用户最近打开过的文档列表的功能。让我们详细地探讨一下...