前些天有个需要。要处理一个有20000行3MB大小的txt文件。要把每一行插入到数据库里,而且是web系统下,
我按一般preparedStatement写完了,一测试,妈妈呀,跑了近20分钟,这还了得,
感激想办法,请教高手,改用JDBC的批处理。简单列下代码
File file = new File("D:\\test.txt");
Connection conn = ConnectionManager.getConnection();
String sql = "insert into table(param1,param2,param3,param4,param5,param6,param7,param8,param9,param10) values(?,?,?,?,?,?,?,?,?,?)";
PreparedStatement psmt = null;
try {
conn.setAutoCommit(false);
psmt = conn.prepareStatement(sql);
if(file.exists() && file.isFile()){
try {
FileReader fr = new FileReader(file);
BufferedReader reader = new BufferedReader(fr);
String line = reader.readLine();
int count = 1;
while(line!=null){
...........
psmt.setXXX();//set参数
...........
psmt.addBatch(); //加入批处理
if(count % 5000 == 0){
//设置5000为一个批处理
psmt.executeBatch();
conn.commit();
psmt.clearBatch();
}
count++;
line = reader.readLine();
}
psmt.executeBatch();
conn.commit();
psmt.clearBatch();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (SQLException e1) {
e1.printStackTrace();
}finally{
ConnectionManager.free(conn, psmt);
}
完了我一测试,真快啊,2秒搞定。哈哈,写下来以后用。
分享到:
相关推荐
** JDBC使用参考手册详解 ** Java Database Connectivity (JDBC) 是Java编程语言中用于与数据库交互的一组标准API。这个英文版的JDBC使用参考手册是开发者的重要资源,提供了全面的指南来帮助理解和掌握JDBC的各个...
本教程将详细介绍使用JDBC进行数据库连接、操作的基本步骤和核心概念。 1. **安装JDBC驱动** 首先,你需要为你的数据库选择合适的JDBC驱动。例如,如果你使用的是MySQL,你需要下载`mysql-connector-java`的JAR...
### JDBC详解:连接操作数据库、处理大数据、批处理 #### 一、JDBC简介 JDBC,全称为Java DataBase Connectivity(Java数据库连接),是Sun公司(现已被Oracle收购)为了解决不同数据库间的操作差异性而设计的一套...
- 批量操作数据库:利用JDBC批处理功能优化数据库操作性能。 - Job多个Step的执行:Job可以包含多个Step,根据需要组合执行。 - 条件流程和流程决策:使用Flow和Decision元素创建条件分支和流程控制。 - 并发处理:...
6. **批处理(Batch Processing)**:对于需要执行大量相似SQL语句的情况,JDBC提供批处理功能,允许一次发送多个SQL语句,从而提高效率。 7. **JDBC URL**:每个数据库驱动都有一个特定的JDBC URL格式,用于标识要...
通过这个简单的学生管理系统,开发者可以学习到如何使用JDBC与数据库进行交互,如何构建简单的数据管理应用,并理解SQL语言在实际项目中的应用。同时,这也是一个练习Java编程、数据库设计和用户界面开发的好实例。
**JDBC基础与应用** Java Database ...无论是简单的CRUD操作,还是复杂的数据库交互,JDBC都能提供可靠的工具和支持。在实际项目中,结合Java的ORM框架(如Hibernate、MyBatis),可以更高效地进行数据库操作。
### 使用JDBC动态连接数据库 #### 一、JDBC简介 JDBC,即Java DataBase Connectivity标准,是一个由Sun Microsystems设计的API(应用程序编程接口),它允许Java程序与各种关系型数据库进行交互。作为Java核心类库...
### JDBC批处理 批处理允许一次性提交多条SQL,提高效率。使用`Statement.addBatch()`添加SQL,`Statement.executeBatch()`执行。 ### JDBC优化技巧 1. 使用PreparedStatement而非Statement,减少解析时间。 2. ...
通过设置JDBC组件的属性,比如批处理、连接池大小等,可以优化数据库操作的性能。 8. **集成其他组件**: Apache Camel 的强大之处在于其灵活的集成能力。JDBC组件可以与其他组件(如定时任务、消息队列等)配合...
标题“JDBC基础知识1_保存大文本_分页_批处理”揭示了本文将要讨论的是Java数据库连接(Java Database Connectivity, JDBC)的基础知识,主要包括如何在数据库中处理大文本数据、实现分页查询以及利用批处理提高...
在Java编程中,我们可以使用JDBC(Java Database Connectivity)API来实现批处理功能。JDBC提供了一种标准的接口,使得Java程序可以连接到各种类型的数据库。批处理是通过设置Statement对象的`addBatch()`方法和`...
- **概述1** 和 **2**:JDBC基础涵盖数据库连接、数据源、事务处理、批处理等。理解JDBC的基本架构和生命周期是开始数据库编程的关键。 7. **JDBC基础教程之驱动** - 驱动管理数据库连接,根据不同的数据库产品,...
Tasklet是一个简单的接口,表示一个可执行的单元,常用于执行一些在批处理中只需要执行一次的任务。而ItemReader、ItemProcessor和ItemWriter则是分别用于读取数据、处理数据和写入数据的组件,它们通常协同工作来...
此外,对于大数据量处理,JDBC批处理(Batch Processing)是一个重要的优化手段。通过`addBatch()`和`executeBatch()`方法,可以一次性发送多个SQL语句,减少网络往返次数,提高性能。 在源码分析部分,可能会深入...
SQL Server JDBC驱动还支持一些高级功能,如批处理、存储过程调用、游标、预编译的`PreparedStatement`、JDBC连接池等。这些特性可以帮助优化性能并简化代码。 总之,`mssql-jdbc-6.4.0.jre8.jar`是Java连接SQL ...
Apache Commons DBUtils是Java开发中一个非常实用的工具库,它极大地简化了JDBC(Java Database Connectivity)的使用。这个库是Apache Commons项目的一部分,旨在提供一个简单且异常安全的方式来处理数据库操作,...
这个简单的例子展示了如何使用JDBC插入一条记录到数据库。实际开发中,还需要处理异常,以及确保在所有操作完成后正确关闭资源。 总的来说,JDBC是Java程序员与数据库交互的重要工具,理解和掌握JDBC可以让你编写出...
标题中的“02_传智播客JDBC_编写一个简单的jdbc例子程序”表明这是一个关于Java数据库连接(JDBC)的教程,由传智播客提供,内容可能涉及如何使用JDBC来执行基本的数据库操作。描述和标签与标题一致,暗示这个压缩包...
总的来说,"spring-jdbc jar包"为开发者提供了一个强大且灵活的JDBC抽象层,使得在Java应用中进行数据库操作变得更加简单、高效和可靠。无论是在小型项目还是大型企业级应用中,Spring JDBC都是构建数据访问层的理想...