`
lapulande
  • 浏览: 219761 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDBC的批处理简单使用。

    博客分类:
  • JDBC
阅读更多

前些天有个需要。要处理一个有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使用参考手册

    ** JDBC使用参考手册详解 ** Java Database Connectivity (JDBC) 是Java编程语言中用于与数据库交互的一组标准API。这个英文版的JDBC使用参考手册是开发者的重要资源,提供了全面的指南来帮助理解和掌握JDBC的各个...

    jdbc完整流程使用

    本教程将详细介绍使用JDBC进行数据库连接、操作的基本步骤和核心概念。 1. **安装JDBC驱动** 首先,你需要为你的数据库选择合适的JDBC驱动。例如,如果你使用的是MySQL,你需要下载`mysql-connector-java`的JAR...

    JDBC详解(连接操作数据库、处理大数据、批处理)

    ### JDBC详解:连接操作数据库、处理大数据、批处理 #### 一、JDBC简介 JDBC,全称为Java DataBase Connectivity(Java数据库连接),是Sun公司(现已被Oracle收购)为了解决不同数据库间的操作差异性而设计的一套...

    spring batch批处理 教程

    - 批量操作数据库:利用JDBC批处理功能优化数据库操作性能。 - Job多个Step的执行:Job可以包含多个Step,根据需要组合执行。 - 条件流程和流程决策:使用Flow和Decision元素创建条件分支和流程控制。 - 并发处理:...

    jdbc jdbc jdbc

    6. **批处理(Batch Processing)**:对于需要执行大量相似SQL语句的情况,JDBC提供批处理功能,允许一次发送多个SQL语句,从而提高效率。 7. **JDBC URL**:每个数据库驱动都有一个特定的JDBC URL格式,用于标识要...

    JDBC连接实现简单学生管理系统(附数据库).zip

    通过这个简单的学生管理系统,开发者可以学习到如何使用JDBC与数据库进行交互,如何构建简单的数据管理应用,并理解SQL语言在实际项目中的应用。同时,这也是一个练习Java编程、数据库设计和用户界面开发的好实例。

    JDBC简单的资料

    **JDBC基础与应用** Java Database ...无论是简单的CRUD操作,还是复杂的数据库交互,JDBC都能提供可靠的工具和支持。在实际项目中,结合Java的ORM框架(如Hibernate、MyBatis),可以更高效地进行数据库操作。

    使用jdbc动态连接数据库

    ### 使用JDBC动态连接数据库 #### 一、JDBC简介 JDBC,即Java DataBase Connectivity标准,是一个由Sun Microsystems设计的API(应用程序编程接口),它允许Java程序与各种关系型数据库进行交互。作为Java核心类库...

    jdbc资源总结jdbc

    ### JDBC批处理 批处理允许一次性提交多条SQL,提高效率。使用`Statement.addBatch()`添加SQL,`Statement.executeBatch()`执行。 ### JDBC优化技巧 1. 使用PreparedStatement而非Statement,减少解析时间。 2. ...

    ApacheCamel-JDBC

    通过设置JDBC组件的属性,比如批处理、连接池大小等,可以优化数据库操作的性能。 8. **集成其他组件**: Apache Camel 的强大之处在于其灵活的集成能力。JDBC组件可以与其他组件(如定时任务、消息队列等)配合...

    JDBC基础知识1_保存大文本_分页_批处理

    标题“JDBC基础知识1_保存大文本_分页_批处理”揭示了本文将要讨论的是Java数据库连接(Java Database Connectivity, JDBC)的基础知识,主要包括如何在数据库中处理大文本数据、实现分页查询以及利用批处理提高...

    批处理导入SQL文件

    在Java编程中,我们可以使用JDBC(Java Database Connectivity)API来实现批处理功能。JDBC提供了一种标准的接口,使得Java程序可以连接到各种类型的数据库。批处理是通过设置Statement对象的`addBatch()`方法和`...

    JDBC教程-使用实例

    - **概述1** 和 **2**:JDBC基础涵盖数据库连接、数据源、事务处理、批处理等。理解JDBC的基本架构和生命周期是开始数据库编程的关键。 7. **JDBC基础教程之驱动** - 驱动管理数据库连接,根据不同的数据库产品,...

    Spring Batch批处理框架

    Tasklet是一个简单的接口,表示一个可执行的单元,常用于执行一些在批处理中只需要执行一次的任务。而ItemReader、ItemProcessor和ItemWriter则是分别用于读取数据、处理数据和写入数据的组件,它们通常协同工作来...

    oracle_jdbc_讲义例子

    此外,对于大数据量处理,JDBC批处理(Batch Processing)是一个重要的优化手段。通过`addBatch()`和`executeBatch()`方法,可以一次性发送多个SQL语句,减少网络往返次数,提高性能。 在源码分析部分,可能会深入...

    SQL Server_JDBC驱动【mssql-jdbc-6.4.0.jre8.jar】.rar

    SQL Server JDBC驱动还支持一些高级功能,如批处理、存储过程调用、游标、预编译的`PreparedStatement`、JDBC连接池等。这些特性可以帮助优化性能并简化代码。 总之,`mssql-jdbc-6.4.0.jre8.jar`是Java连接SQL ...

    commons-utils简化JDBC使用(文档+示例)

    Apache Commons DBUtils是Java开发中一个非常实用的工具库,它极大地简化了JDBC(Java Database Connectivity)的使用。这个库是Apache Commons项目的一部分,旨在提供一个简单且异常安全的方式来处理数据库操作,...

    jdbc教程_jdbc教程

    这个简单的例子展示了如何使用JDBC插入一条记录到数据库。实际开发中,还需要处理异常,以及确保在所有操作完成后正确关闭资源。 总的来说,JDBC是Java程序员与数据库交互的重要工具,理解和掌握JDBC可以让你编写出...

    02_传智播客JDBC_编写一个简单的jdbc例子程序.rar

    标题中的“02_传智播客JDBC_编写一个简单的jdbc例子程序”表明这是一个关于Java数据库连接(JDBC)的教程,由传智播客提供,内容可能涉及如何使用JDBC来执行基本的数据库操作。描述和标签与标题一致,暗示这个压缩包...

    spring-jdbc jar包.rar

    总的来说,"spring-jdbc jar包"为开发者提供了一个强大且灵活的JDBC抽象层,使得在Java应用中进行数据库操作变得更加简单、高效和可靠。无论是在小型项目还是大型企业级应用中,Spring JDBC都是构建数据访问层的理想...

Global site tag (gtag.js) - Google Analytics