最近公司在用DB2数据库,用的DbVisualizer作为数据库管理工具。因为开发库和实际库是分开的,所以经常要从实际库中导出数据到开发库,一般是导出为文件的形式。
在数据量小的时候是每没什么问题的,可是当数据量达到10w以上时,DbVisualizer老内存溢出。一气之下,想到了用JDBC的批处理,来实现数据的导入,说干就干,但是在开发的过程中还是遇到很多问题的,大家都知道,JDBC中的Statement和PreparedStatement都是可是做批处理的,但是在我的这个问题中,只能用Statement,因为是每次从文件中读取要导入的sql语句(都是insert语句),每次读入的时候语句都是变的。所以没法用PreparedStatement(预编译SQL)。
第一次写博,不知道各位大牛们,有没有好的方法?
Connection con = null;
Statement ps = null;
try {
FileReader fr = new FileReader("d:/datas.sql");
BufferedReader bis = new BufferedReader(fr);
String insertSql;
int i = 0;
con = getConnection();
ps = con.createStatement();
long start=System.currentTimeMillis();
while ((insertSql= bis.readLine()) != null&& i<3112) {
ps.addBatch(insertSql);
i++;
if (i % 1000 == 0) {
ps.executeBatch();
ps.clearBatch();
long now=System.currentTimeMillis();
System.out.println("已完成:" + i+",时间:"+(now-start)+"ms");
}
}
//执行剩余的sql
ps.executeBatch();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (ps != null) ps.close();
if (con != null) con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
分享到:
相关推荐
JDBC的批处理操作三种方式JDBC的批处理操作三种方式JDBC的批处理操作三种方式JDBC的批处理操作三种方式JDBC的批处理操作三种方式
用pinyin4j获取拼音简码JXL读写Excl文件JDBC批处理
讲述java中JDBC的批处理功能,讲述java中JDBC的批处理功能,讲述java中JDBC的批处理功能
JDBC基本操作,及批处理操作
NULL 博文链接:https://j2ee2009.iteye.com/blog/660826
对jdbc的操作进行说明,避免出现大数据读取时的报错
JDBC进行批处理共4页.pdf.zip
这个压缩包包含了传智播客方立勋老师的JDBC笔记,是比较经典的学习资料。
Java教程中阐述了接口在开发中的真正作用,JDBC规范制定的背景,JDBC编程六部曲,JDBC事务,JDBC批处理,SQL注入,行级锁等,是学习JDBC最好的Java教程。JDBC 资源太大,传百度网盘了,链接在附件中,有需要的同学...
NULL 博文链接:https://157538651.iteye.com/blog/1689291
内容为JDBC增删改查 ,事物处理, 批处理,以及预编译示例代码
这是jdbc 批处理输入大量数据到mysql的代码,应该会比较有用
JDBC 的常用API JDBC操作数据库的步骤 JDBC批处理 大数据处理 mybatis3.2数据库框架
JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单写法JDBC简单...
详细介绍JDBC的连接操作数据库、处理大数据、批处理使用操作 Sun公司为了简化数据库开发,定义了一套JDBC接口,这套接口由数据库厂商去实现,这样,开发人员只需要学习JDBC接口, 并通过JDBC加载具体的驱动,就可以...
第十二章 JDBC批处理操作批量处理允许您将相关的SQL语句分组到批处理中,并通过对数据库的一次调用提交它们。当您一次向数据库发送多个SQL语句时,可以减少连接
本套视频教程中讲解了Java语言如何连接数据库,对数据库中的数据进行增删改查操作,适合...Java教程中阐述了接口在开发中的真正作用,JDBC规范制定的背景,JDBC编程六部曲,JDBC事务,JDBC批处理,SQL注入,行级锁等。
JDBC进阶2
jdbc jdbc jdbc jdbc jdbc jdbc jdbc jdbc
amplecode.zip,高性能JDBC批处理操作框架.amplecode