`
hitemplar
  • 浏览: 13075 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring+Hibernate分页查询及批量插入代码

阅读更多
//分页查询
try {
final String queryString = "from News a where a.status=1 order by a.createDate desc";
List list = getHibernateTemplate().executeFind(
new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
List result = session.createQuery(queryString)
.setFirstResult(page_seq).setMaxResults(num_per_page).list();
return result;
}
});
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
//批量插入
getHibernateTemplate().execute(new   HibernateCallback()   { 
  public   Object   doInHibernate(Session   session)   throws   HibernateException   { 
  for   (   int   i=0;   i<100000;   i++   )   { 
          Customer   customer   =   new   Customer(.....); 
          session.save(customer); 
          if   (   i   %   20   ==   0   )   {   //20,   same   as   the   JDBC   batch   size   //20,与JDBC批量设置相同 
                  //flush   a   batch   of   inserts   and   release   memory: 
                  //将本批插入的对象立即写入数据库并释放内存 
                  session.flush(); 
                  session.clear(); 
          } 
  } 
  return   new   Integer(100000);   //象征性的返回一个obj 
  
  }  
分享到:
评论

相关推荐

    hibernate api+hibernate文档/chm格式

    5. 批量操作:探讨如何高效地进行数据的批量插入、更新和删除。 6. 第三方集成:包括JTA、JPA、Spring等其他框架与Hibernate的整合。 7. 性能调优:提供了各种优化技巧,如缓存配置、连接池管理、查询优化等。 三...

    SpringJdbcTemplate封装工具类

    例如,大量数据的批量插入可能更适合使用JdbcTemplate的`batchUpdate()`方法,或者直接使用JDBC的PreparedStatement来提高效率。 9. **最佳实践** - 保持SQL语句简洁,避免在业务代码中混杂复杂的SQL。 - 避免...

    Struts2项目综合案例

    其中dataInsert.sql是建表、视图sql,存储过程是批量插入测试数据,具体注意事项请看readme.txt文件。本压缩包仅有源代码和配置文件,相关运行的jar包需自己调式加入,如有问题,请发邮件或加我MSN:yetree@hotmail....

    Struts、Hibernate、Spring经典面试题收藏

    ### Struts、Hibernate、Spring 经典面试题详解 #### Hibernate 工作原理及为何要用? **原理:** 1. **读取并解析配置文件**:在启动时,Hibernate会读取配置文件(如`hibernate.cfg.xml`),从中获取数据库连接...

    hibernate 优化

    - 设置合适的批处理大小,批量插入或更新数据可以提高效率。 - 关闭不必要的日志输出,减少IO开销。 5. **事务管理**: - 合理划分事务边界,避免长时间持有事务,减少锁竞争,提高并发性能。 - 使用Spring等...

    hibernate.jar包

    - 批量操作:使用批处理更新和插入,提高性能。 6. Hibernate的局限性: - 对SQL的灵活性限制:Hibernate的HQL虽然强大,但在复杂的SQL查询方面仍不如原生SQL。 - 学习曲线:对于初学者,理解ORM的概念和...

    spring完整jar包

    5. **Spring Batch** - 专门用于处理批量操作,提供了丰富的批处理功能,如分页读写、事务管理等。 6. **Spring Framework与Spring Cloud** - Spring Cloud是基于Spring Boot构建的云应用开发工具集,它为分布式...

    Hibernate说明文档.rar_ajax_hibernate

    - 使用批处理:批量插入、更新和删除可以显著提高性能。 - 避免N+1查询:通过一次性加载关联数据或使用JOIN查询避免多次查询。 - 合理使用缓存:根据需求选择合适的缓存策略。 ### 8. 最佳实践 - 尽量使用延迟加载...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    hibernate参考手册中文版

    - 批量插入、更新和删除操作。 - 使用fetch策略减少不必要的数据库查询。 - 启用查询缓存提高重复查询的效率。 - **并发控制**: - 乐观锁:通过版本字段实现,适用于读多写少的场景。 - 悲观锁:通过数据库的...

    hibernate入门教程

    4. **分页查询**:在处理大量数据时,使用分页查询可以避免一次性加载过多数据到内存中。 5. **延迟加载**:对于关联实体,使用延迟加载策略可以在需要时才加载关联数据,而不是一开始就加载所有关联数据。 6. **...

    Hibernate 高级特性

    2. 批量操作:批量插入、更新和删除,例如使用bulk update和bulk delete语句,减少数据库交互次数,提升性能。 三、 绩效优化 1. 分页查询:通过设置FirstResult和MaxResults参数,实现分页查询,减少不必要的数据...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    springmvc增删改,分页,导入数据等功能

    通常,我们使用MultipartFile接口来接收上传的文件,然后在Service层解析文件内容,批量插入或更新数据库。例如,用户上传CSV文件,Controller层接收文件,Service层解析文件内容并调用DAO的批处理方法,如batch...

    对于SSH项目的一些经验总结

    - **分页查询**:使用Hibernate或MyBatis的分页查询功能,提高大数据量下的查询效率。 - **数据导入导出**:通过解析TXT文件等方式实现数据的批量导入导出。 - **异常处理**:设计统一的异常处理机制,提高系统的...

    spring整合jdbc学习资料

    批量处理是优化数据库操作的有效手段,JdbcTemplate提供了addBatch()和executeBatch()方法来实现对一组数据的批量更新或插入,这在处理大量数据时非常有用。 另外,可滚动结果集和分页技术是数据库查询中的重要方面...

    Java面试题2023最新版大合集(485页)

    以上只是部分 Mybatis 面试问题及解答,实际面试中还可能涉及更多关于 Mybatis、Spring Boot、Spring Cloud 等技术栈的问题,例如 Spring 的 IoC、AOP 概念,Spring Boot 的自动配置原理,Spring Cloud 微服务治理等...

    Java数据库系统项目开发实践------源代码

    10. **性能优化**:优化SQL查询、合理使用索引、批量插入和分页查询等都是提高数据库系统性能的关键。 在项目实践中,还需要考虑代码的可维护性、测试覆盖率和文档编写。通过这个项目,你可以提升自己的Java编程...

    1000道+互联网Java工程师面试题.pdf

    使用`&lt;insert&gt;`标签的`useGeneratedKeys`和`keyProperty`属性,配合`&lt;batch&gt;`标签或编程式API实现批量插入。 10. **获取自动生成的键值**: 通过`useGeneratedKeys="true"`和`keyProperty="id"`属性获取自增主...

Global site tag (gtag.js) - Google Analytics