`
zhjump
  • 浏览: 9676 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

[11]JDBC的批处理功能

    博客分类:
  • Java
阅读更多

[11]JDBC的批处理功能

 

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class BatchTest {

	/**
	 * @param args
	 * @throws SQLException
	 */
	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();
			}
			int[] is = ps.executeBatch();
		} finally {
			JdbcUtils.free(rs, ps, conn);
		}
	}
}

 

分享到:
评论

相关推荐

    使用JDBC的批处理功能

    讲述java中JDBC的批处理功能,讲述java中JDBC的批处理功能,讲述java中JDBC的批处理功能

    jdbc的详细介绍

    2. JDBC 能完成的功能: 3. JDBC API 包含的内容? 4. JDBC driver 5. JDBC Driver的种类. 6. JDBC 编程人员使用到的接口? 7. JDBC 编程中主要的接口和类 8. 使用唯一的URL确定数据库 9. JDBC2.0 增强特性 第二章 1. ...

    JDBC笔记 JDBC笔记

    JDBC从物理结构上说就是Java语言访问数据库的一套接口集合。从本质上来说就是调用者(程序员)和实现者(数据库厂商)之间的协议。JDBC的实现由数据库厂商以驱动程序的形式提供。JDBC API 使得开发人员可以使用纯...

    jdbc连接数据库的方式2

    我们可以使用addBatch()和executeBatch()方法选择标准的JDBC批处理,或者通过利用PreparedStatement对象的setExecuteBatch()方法和标准的executeUpdate()方法选择速度更快的Oracle专有的方法。要使用Oracle专有的...

    SpringBatch批处理 刘相编

    基本篇重点讲述了数据批处理的核心概念、典型的作业配置、作业步配置,以及Spring Batch框架中经典的三步走策略:数据读、数据处理和数据写,详尽地介绍了如何对CVS格式文件、JSON格式文件、XML文件、数据库和JMS...

    自己封装的JDBC工具类源码

    最近刚学习了JDBC,最后封装了一段简单的工具类,主要功能有: 1、执行sql语句返回单条查询结果; 2、执行查询语句sql返回结果集; 3、执行数据的插入,修改,删除; 4、执行批处理; 5、调用存储过程; 6、...

    JDBC核心技术精讲

    9、mysql的预处理功能开启 10、JDBC中日期时间类型讨论11、通过JDBC存储和取出音频和视频数据 12、批处理概述 13、事务概述及事务的四大特性 14、mysql中使用事务 15、jdbc中使用事务 16、数据库连接池的介绍和...

    轻量级Java持久层框架MiniDAO:基于SpringJDBC与FreeMarker的源码实现

    它以简洁的设计理念实现了SQL的分离和逻辑标签功能,与Mybatis的操作体验相媲美,同时能够无缝集成至Spring Boot项目。 技术构成: - 主要编程语言:Java - 文件构成:共158个文件,包括: - Java源文件:72个 - ...

    jdbc基础和参考

    JDBC批处理: addBatch executeBatch Statement PreparedStatement Statement{ 1.获取连接 getConnection(); 2.创建Statement conn.createStatement(); 3.执行sql语句 String sql .... insert delete update ...

    fluent-jdbc:Java库,用于高效的本机SQL查询(通过JDBC)

    与Java 8 /功能代码很好地融合在一起,支持许多jdbc包装程序阻止/抽象的功能,并且重量轻(〜80K,无依赖项)。 FluentJdbc的主要功能: 功能性,流利的API 以单行的形式执行select / insert / update / delete ...

    通过JDBC连接oracle数据库的十大技巧

    在使用多年的Oracle公司的JDBC后,我积累了许多技巧,这些技巧能够使我们更好地发挥系统的性能和实现更多的功能。 1、在客户端软件开发中使用Thin驱动程序 在开发Java软件方面,Oracle的数据库提供了四种类型的...

    Navicat Premium 11.0.10 + Patch

    并且,可以计划不同数据库的批处理作业并在指定的时间运行。其他功能包括导入向导、导出向导、查询创建工具、报表创建工具、数据同步、备份、工作计划及更多。 Navicat 的功能足以符合专业开发人员的所有需求,但是...

    jOOQ-manual-3.10.pdf

    批处理执行:当执行大量SQL语句时,批处理执行很重要。与JDBC相比,jOOQ简化了这些操作 导出和导入:jOOQ附带了一个API,可以轻松导出/导入各种格式的数据 如果您是喜爱的,功能丰富的数据库的高级用户,jOOQ将帮助...

    springbatch_嵌入式jetty_动态控制的quartz

    支持web接口的批处理框架 在eclipse中导出为可执行的jar,无需部署到任何web容器中。直接通过bat或shell启动即可。 系统启动时自动从数据库中读取框架配置信息,job信息,调度信息注入到框架中。 本系统内嵌了jetty...

    高效Java数据访问组件Uncode-DAL全功能源码

    Uncode-DAL是一个功能全面的Java数据访问层组件,它深度整合了MyBatis、Spring JDBC以及Hibernate等主流ORM框架,致力于为开发者提供一套简便、高效的数据操作解决方案。该组件支持多数据源配置,能够实现读写分离、...

    kyuubi:Kyuubi是基于Apache Spark构建的用于大规模数据处理和分析的分布式多租户JDBC服务器

    Kyuubi依靠Apache Spark提供高性能的数据查询功能,并且引擎功能的每一项改进都可以帮助Kyuubi的性能取得质的飞跃。 此外,Kyuubi通过引擎缓存提高了临时响应速度,并通过水平缩放和负载平衡增强了并发性。 它提供...

    jsp servlet 入门学习资料-新手一看就懂

    第11章 其他高级功能 11.1 JDBC2.0和JDBC数据库连接池 11.1.1 JDBC2.0新功能概述 11.1.2 结果集增强功能 11.1.3 批处理更新 11.1.4 对Java对象的持久性 11.1.5 数据库连接池使用实例 11.2 文件上载 11.2.1 ...

    jsp从入门到高级编程

    第11章 其他高级功能 11.1 JDBC2.0和JDBC数据库连接池 11.1.1 JDBC2.0新功能概述 11.1.2 结果集增强功能 11.1.3 批处理更新 11.1.4 对Java对象的持久性 11.1.5 数据库连接池使用实例 11.2 文件上载 11.2.1 ...

    JSP高级教程

    第11章 其他高级功能 11.1 JDBC2.0和JDBC数据库连接池 11.1.1 JDBC2.0新功能概述 11.1.2 结果集增强功能 11.1.3 批处理更新 11.1.4 对Java对象的持久性 11.1.5 数据库连接池使用实例 11.2 文件上载 11.2.1 ...

Global site tag (gtag.js) - Google Analytics