`
在水伊方
  • 浏览: 110587 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

使用JDBC的批处理功能

    博客分类:
  • JDBC
阅读更多

批处理,可以大幅度提升大量增,删,改的速度

 

public class BatchTest {
	public static void main(String[] args) throws SQLException {
		long start = System.currentTimeMillis();
		for (int i = 0; i < 100; i++)
			create(i);
		long end = System.currentTimeMillis();
		System.out.println("create:" + (end - start));

		start = System.currentTimeMillis();
		createBatch();
		end = System.currentTimeMillis();
		System.out.println("createBatch:" + (end - start));
	}

	static void create(int i) throws SQLException {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn = JdbcUtils.getConnection();
			String sql = "insert into user(name, birthday, money) values (?, ?, ?) ";
			ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
			ps.setString(1, "no batch name" + i);
			ps.setDate(2, new Date(System.currentTimeMillis()));
			ps.setFloat(3, 100f + i);
			ps.executeUpdate();
		} finally {
			JdbcUtils.free(rs, ps, conn);
		}
	}

	// 批处理
	static void createBatch() throws SQLException {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			conn = JdbcUtils.getConnection();
			String sql = "insert into user(name,birthday, money) values (?, ?, ?) ";
			ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

			for (int i = 0; i < 100; i++) {
				ps.setString(1, "batch name" + i);
				ps.setDate(2, new Date(System.currentTimeMillis()));
				ps.setFloat(3, 100f + i);
				ps.addBatch();
			}

			ps.executeBatch();
		} finally {
			JdbcUtils.free(rs, ps, conn);
		}
	}
}
分享到:
评论

相关推荐

    jdbc 批处理.rar

    在给定的博客链接中,可能详细解释了这些概念,并提供了示例代码来演示如何在实际应用中实现JDBC批处理。通过学习这个资源,开发者可以更好地理解和应用批处理技术,提升Java数据库应用程序的效率。

    用pinyin4j 获取拼音简码 + JXL 读写Excl文件 + JDBC 批处理

    例如,如果你需要更新大量用户的数据,可以使用JDBC批处理来批量更新,减少网络通信和数据库事务处理的开销。 结合这三个技术,我们可以实现一个功能强大的系统。例如,一个基于Web的应用可能需要从用户上传的Excel...

    JDBC高级批处理

    JDBC批处理的实现依赖于数据库驱动的实现,不同数据库的驱动可能会有不同的优化策略。深入研究JDBC源码,可以帮助我们理解批处理在底层是如何工作的,以及如何针对特定数据库优化性能。 ### 8. 工具支持 很多...

    JDBC进行批处理共4页.pdf.zip

    **JDBC批处理详解** 在Java数据库连接(Java Database Connectivity, JDBC)中,批处理是一项重要的功能,它允许开发者一次性提交多个SQL语句,从而提高数据处理的效率和性能。批处理是数据库操作中的优化手段,...

    java连接sqlserver2005 包含jar包

    此外,还可以使用JDBC批处理功能来提高性能。 总的来说,Java连接SQL Server 2005涉及的知识点包括:JDBC API、数据库连接URL的格式、数据库连接池的使用(如C3P0或HikariCP)、事务管理、异常处理以及优化技巧。...

    关于hibernate的批处理

    10. **JDBC批处理API**: Hibernate底层使用JDBC的批处理API(Statement.addBatch()和Statement.executeBatch()),用户也可以直接使用JDBC批处理,绕过Hibernate的部分逻辑,获取更高的性能。 11. **性能优化注意...

    使用jdbc动态连接数据库

    ### 使用JDBC动态连接数据库 #### 一、JDBC简介 JDBC,即Java DataBase Connectivity标准,是一个由Sun Microsystems设计的API(应用程序编程...掌握JDBC不仅可以提高开发效率,还能增强应用程序的功能性和灵活性。

    sql2000+java 批处理,测试demo

    对于Java开发者来说,使用JDBC批处理可以有效地管理与数据库的交互,尤其是在处理大量数据时,能够显著提升性能。 【标签】"sql2000+java 批处理" 指明了技术栈,即使用Java编程语言与SQL Server 2000数据库进行...

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

    - 使用批处理(batch processing)可以提高大量插入或更新操作的效率。 - 考虑使用连接池(如C3P0、HikariCP)管理数据库连接,以减少连接创建和销毁的开销。 通过这个简单的学生管理系统,开发者可以学习到如何...

    jdbc使用参考手册

    总之,JDBC是Java开发者与各种数据库进行交互的关键工具,理解并熟练掌握JDBC的各项功能,能够提升开发效率,确保数据操作的高效性和安全性。这份英文版的JDBC使用参考手册将为你的数据库编程之路提供详尽的指导。

    spring batch批处理 教程

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

    Oracle12C JDBC 驱动

    在开发过程中,还需要注意兼容性和性能优化,例如选择合适的JDBC批处理大小,使用预编译的SQL语句避免解析开销,以及正确处理异常以避免资源泄露。了解Oracle12C的JDBC驱动特性以及如何有效利用它们,对于开发高效、...

    jdbc jdbc jdbc

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

    JDBCDriver3.0.rar_jdbc driver 3.0_sql jdbc 3.0_sql server jdbc_s

    在使用SQL Server JDBC时,开发者需要配置JDBC URL,它包含了数据库的地址、端口、实例名等信息,例如:"jdbc:sqlserver://localhost:1433;databaseName=myDatabase"。此外,还需要提供数据库用户名和密码来建立连接...

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

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

    JDBC2.0新功能

    JDBC 2.0在JDK 1.2版本中引入了一系列增强的功能,极大地扩展了Java应用程序与数据库交互的能力。以下是对这些新功能的详细解释: 1. **可滚动结果集**: 在JDBC 1.1中,结果集通常是只能向前滚动的。但在JDBC 2.0...

    批处理导入SQL文件

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

    smoke-tests-conf-0.2.0-incubating.zip

    除了核心的批处理功能,amplecode还具备日志记录和性能监控功能。通过详细的日志输出,开发者可以追踪到每一个批处理操作的执行情况,便于调试和问题定位。同时,性能监控可以帮助开发者优化代码,找出可能存在的...

    Dm7JdbcDriver16.jar Dm7JdbcDriver17.jar Dm7JdbcDriver18.jar

    - Dm7JdbcDriver16.jar:这是达梦7系列的一个早期版本,可能包含了基本的JDBC连接功能,兼容性可能相对较弱,对于新特性支持可能有限。 - Dm7JdbcDriver17.jar:相较于16版,17版可能增加了新的功能或优化了性能,...

Global site tag (gtag.js) - Google Analytics