Hibernate中的一段批量插入功能的代码

/**
  * 批处理保存信息
  */
 public void batchsave(List<T> entity) {
  Session session = getSession();
  T t = null; // 创建药品对象
  // 循环获取药品对象
  for (int i = 0; i < entity.size(); i++) {
   t = (T) entity.get(i); // 获取药品
   session.save(t); // 保存药品对象
   // 批插入的对象立即写入数据库并释放内存
   if (i % 50 == 0) {
    session.flush();
    session.clear();
   }
  }
  session.flush();
  session.clear();
 }

时间: 2024-10-03 09:14:54

Hibernate中的一段批量插入功能的代码的相关文章

Hibernate中主外键的插入问题

问题描述 有两张表,一张userinfo表,一张good表.其中good表中Saler_id列与userinfo表中主键列User_id是主外键的关系.其中在Hibernate的映射文件中的代码如下<many-to-onename="userinfoBySalerId"class="org.epai.web.entity.Userinfo"fetch="select"><columnname="Saler_id&quo

GridView中加上CheckBox 的全选功能的代码_实用技巧

首先我們當然是要先做出一個有資料的GridViewGridView做好後,我們在後方新增一個樣板欄位(TemplateField)請在新增的樣板欄位中的HeaderTemplate加入一個CheckBox作為全選用,然後在ItemTemplate也加入一個CheckBox 复制代码 代码如下: <asp:TemplateField>                          <HeaderTemplate>                              <

jquery中实现简单的tabs插件功能的代码_jquery

言归正传,以下是全文. 先附上两张最简单的效果图. 首先编写简单的HTML代码.用作tabs的UL标签和包含内容的p标签. <ul><li><a href="#first">海阔天空</a></li><li><a href="#second">光辉岁月</a></li><li><a href="#third">真的爱

用SQL批量插入数据的代码_MsSql

复制代码 代码如下: DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter < 2) /*设置循环次数*/ BEGIN WAITFOR DELAY '000:00:10' /*延迟时间10秒*/ INSERT INTO time_by_day (time_id, the_date, the_year, month_of_year, quarter, day_of_month) SELECT TOP 1 time_

用SQL批量插入数据的代码

复制代码 代码如下: DECLARE @MyCounter INT SET @MyCounter = 0 /*设置变量*/ WHILE (@MyCounter < 2) /*设置循环次数*/ BEGIN WAITFOR DELAY '000:00:10' /*延迟时间10秒*/ INSERT INTO time_by_day (time_id, the_date, the_year, month_of_year, quarter, day_of_month) SELECT TOP 1 time_

使用事务操作SQLite数据批量插入,提高数据批量写入速度,源码讲解

SQLite数据库作为一般单机版软件的数据库,是非常优秀的,我目前单机版的软件产品线基本上全部替换Access作为优选的数据库了,在开发过程中,有时候需要批量写入数据的情况,发现传统的插入数据模式非常慢,几千条数据的写入或者更新可能需要好几分钟时间,而SqlServer则相同的操作可能几秒即可,有无更好的方法来提高它的响应速度呢?答案是有的,就是采用事务提交,默认SQLite的数据库插入操作,如果没有采用事务的话,它每次写入提交,就会触发一次事务操作,而这样几千条的数据,就会触发几千个事务的操作

Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加

问题描述 Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加 Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加,没有的话重新加入一条新的记录,Sql语句怎么实现? 当我页面添加的是"利群"时,添加一盒,那么数据库中利群这条记录中的num字段中的4变成5,如果是页面添加的是"黄鹤楼"同理,如果添加的不是name字段中的这两个,就新插入一条数据.Sql语句怎么写??急急急. 是Mysql的数据

C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据

#region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// <param name="sourceDataTable">数据源表</param> /// <param name="targetTableName">服务器上目标表</param> /// <param nam

mysql-spring data jpa hibernate批量插入

问题描述 spring data jpa hibernate批量插入 原生的sql,在mysql中可以insert into table(column1,column2) values (), (),()这样批量插入很多数据,jpa中我看好像没有可以批量插入的.请问各位有吗? 看好多帖说EntityManager.persist(),然后多少条flush(), clear().我看这种方式hibernate也是一条一条insert执行的,效率并不高. 解决方案 query.executeUpda