【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

Hibernate批量添加与更新

原创 2016年08月30日 18:22:07
<pre name="code" class="java">	/**
	 * 批量insertIDMC表
	 * @param entityType
	 * @return
	 */
	public OperationResult batchInsert(final List<EntityIdName> id2Names){
		if(id2Names != null && id2Names.size() > 0){
			this.getSession().doWork(new Work() {
				@Override
				public void execute(Connection connection) throws SQLException {
					String sql = "insert into entity_id_name (entitytypeid,entityid,entityname,tenantId) values (?,?,?,?)";
					final PreparedStatement stmt = connection.prepareStatement(sql);
					for (final EntityIdName idName : id2Names) {
						stmt.setLong(1, idName.getEntityTypeId());
						stmt.setLong(2, idName.getEntityId());
						stmt.setString(3, idName.getEntityName());
						stmt.setLong(4, idName.getTenantId());
						stmt.addBatch();
					}
					log.info("开始批量执行"+id2Names.size()+"条SQL语句["+sql+"]...");
					Long t1 = System.currentTimeMillis();
					stmt.executeBatch();
					Long t2 = System.currentTimeMillis();
					log.info("执行完毕,共耗时:" + (t2-t1) + "毫秒");
				}
			});
		}
		return OperationResult.SUCESS;
	}
	
	/**
	 * 批量insertIDMC表
	 * @param entityType
	 * @return
	 */
	public OperationResult batchUpdate(final List<EntityIdName> id2Names){
		if(id2Names != null && id2Names.size() > 0){
			this.getSession().doWork(new Work() {
				@Override
				public void execute(Connection connection) throws SQLException {
					String sql = "UPDATE entity_id_name SET entityname = ? WHERE entitytypeid = ? AND entityid = ?";
					final PreparedStatement stmt = connection.prepareStatement(sql);
					for (final EntityIdName idName : id2Names) {
						stmt.setString(1, idName.getEntityName());
						stmt.setLong(2, idName.getEntityTypeId());
						stmt.setLong(3, idName.getEntityId());
						stmt.addBatch();
					}
					log.info("开始批量执行"+id2Names.size()+"条SQL语句["+sql+"]...");
					Long t1 = System.currentTimeMillis();
					stmt.executeBatch();
					Long t2 = System.currentTimeMillis();
					log.info("执行完毕,共耗时:" + (t2-t1) + "毫秒");
				}
			});
			
		}
		return OperationResult.SUCESS;
	}




            
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Hibernate 数据的批量插入、更新和删除

4.2  Hibernate的批量处理Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作。例如调用Session的delete(...

hibernateHQl批量插入、删除、更新

1.批量插入(为了避免Hibernate的一级缓存导致缓存溢出,采取flush()定期手动将数据刷入数据库并且用clear将缓存数据清空 public void test() { for(int...

Hibernate的批量更新与删除(&&JDBC)

一,批量更新(两种方式) 1,使用Hibernate直接进行批量更新 (1)方式1:(Hibernate的HQL直接支持update/delete的批量更新语法) package com.anlw...

hibernate3 批量更新删除数据

Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件中,hibernate.query.factory_class属性用来选择查询翻译器。(1)选...

hibernate处理批量更新和批量删除

9.4 批量处理数据 通常,在一个Session对象的缓存中只存放数量有限的持久化对象,等到Session对象处理事务完毕,还要关闭Session对象,从而及时释放Session的缓存占用的内存...

在Hibernate应用中如何处理批量更新和批量删除

Hibernate2.1不支持批量更新和删除,批量更新是指在一个事务中更新大批量数据,批量删除是指在一个事务中删除大批量数据。以下程序直接通过Hibernate API批量更新CUSTOMERS表中年...

hibernate处理批量更新和批量删除

批量处理数据 通常,在一个Session对象的缓存中只存放数量有限的持久化对象,等到Session对象处理事务完毕,还要关闭Session对象,从而及时释放Session的缓存占用的内存。 批...

Hibernate批处理操作优化 (批量插入、更新与删除)

问题描述 我开发的网站加了个新功能:需要在线上处理表数据的批量合并和更新,昨天下午发布上线,执行该功能后,服务器的load突然增高,变化曲线异常,SA教育了我一番,让我尽快处理,将CPU...

Hibernate 批量插入、更新与删除

批量插入 在项目的开发过程之中,由于项目需求,我们常常需要把大批量的数据插入到数据库。数量级有万级、十万级、百万级、甚至千万级别的。如此数量级别的数据用Hibernate做插入操作,就可能会发...

Hibernate 批量更新数据

进行批量更新时,如果一下子把所有对象加载到session的缓存中,然后再进缓存中一一更新它们,显然是不可取的,为了解决这一问题,可以使用滚动的结果集 org.hibernate.Scrollable...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)