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秒时间。
分享到:
相关推荐
Hibernate支持设置批处理大小,通过`Session.flush()`方法强制刷新缓存中的操作,批量提交到数据库。 8. **级联操作** 级联操作允许在一个实体的操作中自动处理其关联的实体。例如,`CascadeType.ALL`将使保存、...
然而,在处理大量数据的批量操作时,如批量插入、更新或删除,如果不采取适当的策略,可能会导致性能问题甚至出现内存溢出异常。针对这种情况,Hibernate提供了一些批量处理的解决方案。 批量插入是处理大量数据...
这个"struts+hiber.rar"压缩包很可能包含了一个实际的项目示例,项目中可能包括了以下几个部分: 1. **配置文件**: 如struts.xml和hibernate.cfg.xml,分别配置了Struts2和Hibernate的相关设置。 2. **实体类...
hiber-template的核心功能是提供了一种反向工程机制,可以基于数据库结构自动生成Hibernate的配置文件、实体类和数据访问对象(DAO)。这种机制大大提高了开发效率,特别是在项目初期,需要快速搭建数据库与Java对象...
本教程将深入探讨如何利用Hibernate和Struts框架来构建这样的系统。Hibernate是一个强大的对象关系映射(ORM)工具,用于简化数据库操作,而Struts是基于MVC(Model-View-Controller)设计模式的Java Web框架,它...
【标题】:“hiber+struts2整合做新闻管理系统”是指使用Hibernate ORM框架与Struts2 MVC框架结合,构建一个用于管理新闻数据的Web应用程序。这个系统旨在提供新闻的发布、编辑、删除等功能,同时也可能包含用户登录...
【标题】"Hiber.zip(工程代码)"指的是一个包含Hibernate工程源码的压缩文件。Hibernate是一个开源的对象关系映射(ORM)框架,它在Java开发中被广泛使用,简化了数据库操作,使得开发者可以使用面向对象的方式处理...
同时,Hibernate作为数据持久化层,负责将Java对象映射到数据库表,通过SessionFactory和Session接口,实现数据的CRUD(创建、读取、更新、删除)操作。 项目中,开发者可能采用了DAO(数据访问对象)设计模式,将...
- **面向切面编程(AOP)**:Spring的AOP用于事务管理,可以在方法执行前后自动进行事务的开启和提交/回滚。 - **SessionFactory和Session**:SessionFactory是线程安全的,负责创建Session实例,Session是短生命...
在给定的文件“Hibernate的char问题.txt”中,虽然描述较为模糊,但我们可以根据提供的 SQL 语句推测出,这里讨论的是在使用 Hibernate 进行数据查询时,如何正确地处理 `char` 类型的数据字段。 #### 三、问题分析...
在Java Web开发中,这些配置文件是至关重要的,它们定义了框架的行为、组件间的依赖关系以及数据持久化策略。 首先,让我们详细了解一下Spring的核心配置文件。Spring通常使用`applicationContext.xml`或`beans.xml...
Spring是一个全面的后端开发框架,它不仅支持依赖注入(DI)和面向切面编程(AOP),还提供了大量的企业级功能,如数据访问、事务管理、安全控制等。Spring的IoC容器使得对象的创建和管理更加简单,而其AOP模块则...
这个配置包包含的是Spring 3.2、Struts 2和Hibernate 3版本,这些组件的整合能提供强大的数据持久化、业务逻辑处理以及前端展示功能。 1. **Spring 3.2**: Spring是Java应用开发的核心框架,提供依赖注入(DI)和...
这是一个基于多种技术实现的网上书店后台管理系统,涵盖了前端展示、后端业务逻辑处理以及数据分析等多个层面。下面将详细解析这个项目中的主要知识点。 1. **Struts2框架**:Struts2是Java Web开发中常用的MVC框架...
些jar有两个包,为Hibernate提供Session,其中BasicDao用于被dao类继承的,它提供了对session的一些操作,很有用的,现在我的doc还没有带来,我会尽快把这jar的doc也传上去的
下面我们将深入探讨这两个框架以及它们如何协同工作,实现高效的数据处理和用户交互。 Spring MVC是Spring框架的一部分,是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。它提供了强大的依赖注入(DI)...
这种组件可以结合Spring的数据服务和Hibernate的查询结果,为用户提供动态、数据驱动的选择项。 【标签】"jsf_example" 指出这是JSF的一个示例,对于初学者或希望深入理解JSF的人来说,这是一个很好的学习资源。...
开发者可以通过Session的save()、update()、delete()方法来增删改数据,通过find()、load()等方法来查询数据。 4. 查询(Query):Hibernate提供了HQL(Hibernate Query Language)和Criteria API两种查询方式,...
在本项目中,MySQL将负责存储和处理所有业务数据。 【SpringMVC】是Spring框架的一个模块,主要用于Web应用程序的视图控制器。它提供了模型-视图-控制器(MVC)架构,有助于分离业务逻辑和表现层,使代码更加结构化...