这里的表是没加索引的,加了索引,效率会变慢,但是还是很高效。
long startTime=System.currentTimeMillis();
Connection conn=null;
try{
conn=getConnection();
conn.setAutoCommit(false);
PreparedStatement stmt=conn.prepareStatement("INSERT INTO product_tmp VALUES (?,?,?,?)");
System.out.println("数据大小:"+datas.size()); //1000000
int num=0;
for(Values v:datas){
num++;
stmt.setInt(1, v.getId());
stmt.setString(2, v.getStr1());
stmt.setString(3, v.getStr2());
stmt.setString(4, v.getStr3());
stmt.addBatch();
//注意: 每5万,提交一次;这里不能一次提交过多的数据,我测试了一下,6万5000是极限,6万6000就会出问题,插入的数据量不对。
if(num>50000){
stmt.executeBatch();
conn.commit();
num=0;
}
}
stmt.executeBatch();
conn.commit();
}catch(Exception e){
conn.rollback();
e.printStackTrace();
}finally{
closeConnection(conn);
long endTime=System.currentTimeMillis();
System.out.println("方法执行时间:"+(endTime-startTime)+"ms");
}
转:http://www.ablanxue.com/prone_13223_1.html
分享到:
相关推荐
java批量插入方法代码和一些注释
在oracle数据据库中批量插入数据的java方法
oracle中date类型的操作,增删改查oracle中date类型的操作,增删改查
ClassDao类中的CallableStatement cs = con.prepareCall("{? = call getMaxStudentId}") 其中getMaxStudentId为数据库中函数,需要自行定义,作用为反回该表单最大项号。
java快速插入千万级数据,亲测91秒插入1700万数据!!!
Java实现使用Mybatis将数据批量插入到Oracle数据库,并且可以使用Oracle序列来生成主键
工作中有很多数据以txt方式存储,需要导入oracle数据库处理(方便进行计算、统计),因文件较多,不便于手工处理,所以编写此程序以便进行数据导入。已经测试过,可以将数据导入oracle。
Java实现Mybatis将数据批量插入到Oracle中
20非常有用的java程序片,dom4j生产xml,java enum,for循环,java向oracle 插入百万数据,程序员必知8大排序,map的三种遍历....就是我自己平时在学习的时候遇到的问题然后在网上的找到相关解决方法。
用Java连接oracle数据库实现简单的查询、插入、删除和更新操作。
JAVA连接oracle进行建表、插入数据、删除的操作;
XMLType是Oracle支持的一种基于XML格式存储的数据类型,这里我们共同来探究Java使用JDBC或MyBatis框架向Oracle中插入XMLType数据的方法:
解决大部分数据插入数据库出现乱码的情况,包括oracle数据库,MYsql等
此web工程实现了连接oracle数据库完成基本功能:查询,插入,删除,更新。连接的数据库为员工信息管理系统,采用Contrller,Service,Dao三层结构,controller层为servlet,下层均有一个接口和一个实现类。Bean的基本...
java连接oracel,从而对oracle数据库的数据插入,删除和更新
片文章介绍了一个Java批量添加数据,多个字段同时添加多条数据具体实例,面向的是Oracle数据库,需要的朋友可以参考下
NULL 博文链接:https://hahawowo.iteye.com/blog/783874
Java应用程序显示来自Oracle空间数据库的空间数据 java_oracle_spatialdatabse_demo Java应用程序显示来自Oracle空间数据库的空间数据 1.Whole Region:在整个地图上显示活动要素类型的所有要素。 它们应通过以下...