`
fivipwu
  • 浏览: 11406 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hiber nate批量提交数据

阅读更多
Transaction transaction = null;
	try {
		transaction = session.beginTransaction();
		int p = 0;
		for(int t=0;t<cardnum;t++) {
		Date dates = new Date();
		SimpleDateFormat df = new SimpleDateFormat("yyMMdd");
							
		String pwd="";
		String money = money1;
		String out = "";
		String str1 = df.format(dates);
												
		String str3 = String.valueOf(start);
		for(int i=1;i<6;i++){
			out+=str1.substring(i-1, i)+str2.substring(i-1, i);
				}
								
				out=out+str1.substring(5, 6)+str3;		
								
				MCard mcard = new MCard();
				mcard.setCardNum(out);
				mcard.setCardSec(pwd);
				mcard.setCardMoney(money);
				mcard.setRegDate(DateUtils.stringToDate(stime));
				mcard.setBecomeDate(DateUtils.stringToDate(otime));
				                session.save(mcard);
				                p++;
				                if (p == 1000) {
				                    transaction.commit();
				                    log.debug("save " + 100 + "data successful");
				                    p = 0;
				                    session.flush(); session.clear(); 
				                    transaction = session.beginTransaction();
				               }
				            }
				            if (p != 0) {
				                transaction.commit();
				                session.flush(); session.clear(); 
				            }
				            // session.
				            log.debug("save larger successful");
				           
				        } catch (Exception re) {
				            log.error("save failed", re);
				            if (transaction != null && transaction.isActive())
				                transaction.rollback();
				           
				        }
				        transaction.commit();

 今天由于项目的需要,需要一次性插入上万条数据。开始用每生成一条数据就插一次,速度慢而且到最后是内存益出。然后有用了JDBC来,不过后面觉的还的用HIBERNATE,最后尝试1000条数据提交一次事务。

最后测试,插入十万条数据用了61秒时间。

分享到:
评论

相关推荐

    hiber开发指南 hibernate高级特性

    Hibernate支持设置批处理大小,通过`Session.flush()`方法强制刷新缓存中的操作,批量提交到数据库。 8. **级联操作** 级联操作允许在一个实体的操作中自动处理其关联的实体。例如,`CascadeType.ALL`将使保存、...

    Java中Hibernate的批量插入

    然而,在处理大量数据的批量操作时,如批量插入、更新或删除,如果不采取适当的策略,可能会导致性能问题甚至出现内存溢出异常。针对这种情况,Hibernate提供了一些批量处理的解决方案。 批量插入是处理大量数据...

    struts+hiber.rar

    这个"struts+hiber.rar"压缩包很可能包含了一个实际的项目示例,项目中可能包括了以下几个部分: 1. **配置文件**: 如struts.xml和hibernate.cfg.xml,分别配置了Struts2和Hibernate的相关设置。 2. **实体类...

    hiber-template

    hiber-template的核心功能是提供了一种反向工程机制,可以基于数据库结构自动生成Hibernate的配置文件、实体类和数据访问对象(DAO)。这种机制大大提高了开发效率,特别是在项目初期,需要快速搭建数据库与Java对象...

    Hiber+Struts实现登陆和修改密码功能

    本教程将深入探讨如何利用Hibernate和Struts框架来构建这样的系统。Hibernate是一个强大的对象关系映射(ORM)工具,用于简化数据库操作,而Struts是基于MVC(Model-View-Controller)设计模式的Java Web框架,它...

    hiber+struts2整合做新闻管理系统

    【标题】:“hiber+struts2整合做新闻管理系统”是指使用Hibernate ORM框架与Struts2 MVC框架结合,构建一个用于管理新闻数据的Web应用程序。这个系统旨在提供新闻的发布、编辑、删除等功能,同时也可能包含用户登录...

    Hiber.zip(工程代码)

    【标题】"Hiber.zip(工程代码)"指的是一个包含Hibernate工程源码的压缩文件。Hibernate是一个开源的对象关系映射(ORM)框架,它在Java开发中被广泛使用,简化了数据库操作,使得开发者可以使用面向对象的方式处理...

    消息管理系统 HIBER+STRUTS

    同时,Hibernate作为数据持久化层,负责将Java对象映射到数据库表,通过SessionFactory和Session接口,实现数据的CRUD(创建、读取、更新、删除)操作。 项目中,开发者可能采用了DAO(数据访问对象)设计模式,将...

    spring4.1.6与hiber4.0整合源码

    - **面向切面编程(AOP)**:Spring的AOP用于事务管理,可以在方法执行前后自动进行事务的开启和提交/回滚。 - **SessionFactory和Session**:SessionFactory是线程安全的,负责创建Session实例,Session是短生命...

    Hibernate的char问题.txt

    在给定的文件“Hibernate的char问题.txt”中,虽然描述较为模糊,但我们可以根据提供的 SQL 语句推测出,这里讨论的是在使用 Hibernate 进行数据查询时,如何正确地处理 `char` 类型的数据字段。 #### 三、问题分析...

    ssh核心配置文件jar包

    在Java Web开发中,这些配置文件是至关重要的,它们定义了框架的行为、组件间的依赖关系以及数据持久化策略。 首先,让我们详细了解一下Spring的核心配置文件。Spring通常使用`applicationContext.xml`或`beans.xml...

    J2EE教程: Struts+Spring+JSF+Hibermate+EJB+XML+WebService+Ajax(part3)

    Spring是一个全面的后端开发框架,它不仅支持依赖注入(DI)和面向切面编程(AOP),还提供了大量的企业级功能,如数据访问、事务管理、安全控制等。Spring的IoC容器使得对象的创建和管理更加简单,而其AOP模块则...

    spring3.2+struts2+hiber3框架配置

    这个配置包包含的是Spring 3.2、Struts 2和Hibernate 3版本,这些组件的整合能提供强大的数据持久化、业务逻辑处理以及前端展示功能。 1. **Spring 3.2**: Spring是Java应用开发的核心框架,提供依赖注入(DI)和...

    基于Structs+Hiber.... 实现的网上书店前后台系统, 毕业设计.zip

    这是一个基于多种技术实现的网上书店后台管理系统,涵盖了前端展示、后端业务逻辑处理以及数据分析等多个层面。下面将详细解析这个项目中的主要知识点。 1. **Struts2框架**:Struts2是Java Web开发中常用的MVC框架...

    Hiber_factory_model.jar

    些jar有两个包,为Hibernate提供Session,其中BasicDao用于被dao类继承的,它提供了对session的一些操作,很有用的,现在我的doc还没有带来,我会尽快把这jar的doc也传上去的

    bbs.zip_Spring mvc bbs_hibernate bbs_spring mvc_spring mvc hiber

    下面我们将深入探讨这两个框架以及它们如何协同工作,实现高效的数据处理和用户交互。 Spring MVC是Spring框架的一部分,是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。它提供了强大的依赖注入(DI)...

    qt.rar_jsf example_jsf spring hibernate_jsf下拉菜单_spring jsf hiber

    这种组件可以结合Spring的数据服务和Hibernate的查询结果,为用户提供动态、数据驱动的选择项。 【标签】"jsf_example" 指出这是JSF的一个示例,对于初学者或希望深入理解JSF的人来说,这是一个很好的学习资源。...

    hibernate-distribution-3.3.0.CR1-dist.zip_hibernate jar包_hiber

    开发者可以通过Session的save()、update()、delete()方法来增删改数据,通过find()、load()等方法来查询数据。 4. 查询(Query):Hibernate提供了HQL(Hibernate Query Language)和Criteria API两种查询方式,...

    mysql+springmvc+ibatis+bootstrap

    在本项目中,MySQL将负责存储和处理所有业务数据。 【SpringMVC】是Spring框架的一个模块,主要用于Web应用程序的视图控制器。它提供了模型-视图-控制器(MVC)架构,有助于分离业务逻辑和表现层,使代码更加结构化...

Global site tag (gtag.js) - Google Analytics