`
younglibin
  • 浏览: 1207641 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

向数据库中批量插入数据

阅读更多

Hibernate的方法:
  如果采用如下方法(注意这中方法不行);

         Session session=SessionFactory.openSession();
         Transaction tx=session.beginTransaction();
         for(int i=0;i<100000;i++){
              User u= new User(......);
              session.save(u);
          }
          tx.commit();
          session.close;

随着程序进行会出现内存溢出的错误 OutOfMemoryException  这是用为hibernate的session持有一个一级缓存,所有的User对象将都在session级别进行了缓存;

 

解决:

 

Session session=HibernateUtil.currentSession();
Transaction tx=session.beginTransaction();
for(int i=0;i<100000;i++){
  User u= new User();
  u.setName("*******"+i);
  u.setAge(i);
  session.save(u);
  if(i%20 == 0){
   session.flush();
   session.clear();
  }
  tx.commit();
  sHibernateUtil.closeSession();
}

在上程序中,手动将Session处的缓存数据写入数据库;并且清空session;

除了要对Session级别的缓存进行处理外;还应该通过配置来关闭SessionFactory的二级缓存:
hibernate.cache.use.second_level_cache   false;

二级缓存也有可能引发异常;

1
1
分享到:
评论

相关推荐

    C#.NET中如何批量插入大量数据到数据库中

    在C#.NET中批量插入大量数据到数据库是一个常见的任务,特别是在处理诸如从Excel文件导入数据等场景时。这里,我们将探讨如何使用C#.NET高效地完成这个任务,并提供一个简单的示例来说明整个过程。 首先,我们需要...

    批量插入数据库方法

    在IT行业中,数据库操作是日常开发中的重要环节,尤其是在处理...通过以上方法,你可以使用C#实现高效、可靠的数据库批量插入操作。在实际项目中,应根据业务需求和环境条件灵活选择和优化策略,以达到最佳的性能效果。

    Delphi批量插入数据库数据..rar

    本压缩包“Delphi批量插入数据库数据”可能包含了一个或多个示例代码,用于演示如何在Delphi中高效地向数据库批量插入数据。 批量插入数据是数据库操作中的常见需求,尤其是在处理大量数据时,为了提高效率和减少...

    oracle数据库中批量插入问题

    在Oracle数据库中,批量插入数据是一项关键技能,尤其在处理大量数据时,它能显著提高数据操作效率。本文将深入探讨Oracle数据库中的批量插入技术,包括其原理、实现方法以及一个具体的C#代码示例。 ### Oracle批量...

    数据库复制批量插入数据命令.doc

    数据库复制批量插入数据命令是指在数据库管理系统中复制表结构和表数据的操作。下面将对该操作进行详细的介绍和解释。 数据库复制 数据库复制是指将一个数据库或表的结构和数据复制到另一个数据库或表中。这种操作...

    批量插入数据到Oracle数据库Demo

    在"InsertData"文件中,可能包含了实现上述操作的示例代码或脚本,通过这些示例,你可以学习如何有效地批量插入数据到Oracle数据库。实践中,根据具体业务需求,可能还需要对这些方法进行适当的调整和优化。理解并...

    批量插入数据库

    批量插入数据库

    odbc 数据库批量插入操作

    批量插入数据通常涉及以下步骤: 1. **建立ODBC数据源**:在操作系统层面配置ODBC数据源,包括设置数据库服务器地址、用户名、密码以及选择对应的数据库驱动。 2. **创建连接**:在代码中,使用ODBC API函数如`...

    C#大数据批量插入Access程序

    本程序" C#大数据批量插入Access程序 "就是针对这种需求而设计的,它允许开发者高效地将大量数据导入到Access数据库中。 Access数据库虽然在处理大规模数据时可能不如SQL Server等大型数据库系统强大,但在某些场景...

    C# Oracle批量插入数据进度条的实现代码

    考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法。在插入操作运行时,会造成系统短暂的“卡死”现象。为了让用户知道插入的状态,需要制作一个进度条来显示插入的进度。 批量插入 项目中...

    一个工具类搞定批量插入增加数据到Mysql数据库

    只要学我一样编写这么一个工具类便可以实现批量插入多条数据,百条,千条,万条,后期还会继续优化增加数据时的速度!有点代码基础的保证能看懂,此项目已经有了前端界面你可以直接的导入然后运行测试既可以了,表...

    spring jdbc Templatetest 访问mysql数据库,批量插入数据

    在Java开发中,Spring JDBC Template是...在本示例中,我们学习了如何配置Spring JDBC Template,创建数据库连接,以及如何使用它来实现批量插入数据到MySQL数据库。这对于Java开发者来说是一项基础但至关重要的技能。

    用java程序怎么实现200ms往数据库中插入10000条数据

    批量插入数据 如果我们需要插入大量数据,可以使用批量插入方式来提高效率。我们可以使用 `addBatch()` 方法将多个插入语句添加到批量中,然后使用 `executeBatch()` 方法执行批量插入操作。 优化插入性能 为了...

    sql下三种批量插入数据的方法

    本文将介绍三种批量插入数据的方法。第一种方法是使用循环语句逐个将数据项插入到数据库中;第二种方法使用的是SqlBulkCopy,使您可以用其他源的数据有效批量加载 SQL Server 表;第三种使用的方法是sql server中的...

    java代码oracle数据库批量插入

    这段Java代码通过JDBC实现了向Oracle数据库批量插入数据的功能。关键步骤包括:建立数据库连接、准备SQL语句、批量添加SQL语句到批处理队列、执行批处理以及事务提交。这种方式相比于逐条插入数据,可以显著提升插入...

    VC 演示如何使用insert语句批量向数据库插入数据.rar

    这个我感觉挺有用处吧,一般情况下,我们录入都是一条一条的,但信息量较大的时候,就需要批量插入数据了,我们可以先读取外部指定格式的文件,然后将数据转换为可插入的格式,然后使用insert批量向数据库中插入数据...

    JDBC连接MySQL数据库批量插入数据过程详解

    在本文中,我们提供了一个完整的Java实现代码,展示了JDBC连接MySQL数据库批量插入数据的过程详解。该代码使用FastJSON库读取本地JSON数据,然后使用JDBC连接MySQL数据库批量插入数据。 六、结论 本文详细介绍了...

    往数据库插入数据,相同的不插入

    - 使用批量插入的方式代替逐条插入,可以显著减少数据库操作次数,从而提升整体性能。 2. **异常处理**: - 在实际应用中,还需要添加适当的异常处理机制,以确保程序的健壮性。例如,捕获并处理可能发生的SQL...

    java批量插入Oracle数据方法

    在IT领域,特别是数据库操作与Java编程中,批量插入数据是一项常见且重要的任务。通过优化这一过程,可以显著提升应用程序的性能,特别是在处理大量数据时。以下是对“java批量插入Oracle数据方法”的深入解析,包括...

Global site tag (gtag.js) - Google Analytics