使用JDBC的批处理功能

 1 package cn.itcast.jdbc;
 2
 3 import java.sql.Connection;
 4 import java.sql.Date;
 5 import java.sql.PreparedStatement;
 6 import java.sql.ResultSet;
 7 import java.sql.SQLException;
 8 import java.sql.Statement;
 9
10 public class BatchTest {
11
12     public static void main(String[] args) throws SQLException {
13         /*for (int i = 0; i < 1000; i++) {
14             create(i);
15         }*/
16         createBatch();
17     }
18
19     static int create(int i) throws SQLException {
20         Connection conn = null;
21         PreparedStatement ps = null;
22         ResultSet rs = null;
23
24         try {
25             conn = jdbcUtils.getConnection();
26
27             String sql = "insert into user(name,birthday,money) values(?,?,?)";
28
29             ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
30             ps.setString(1, "name" + i);
31             ps.setDate(2, (java.sql.Date) new Date(System.currentTimeMillis()));
32             ps.setFloat(3, 1000F + i);
33
34             ps.executeUpdate();
35
36             rs = ps.getGeneratedKeys();
37             int id = 0;
38
39             if (rs.next())
40                 id = rs.getInt(1);
41
42             return id;
43
44         } finally {
45             jdbcUtils.free(rs, ps, conn);
46         }
47     }
48
49     static void createBatch() throws SQLException {
50         Connection conn = null;
51         PreparedStatement ps = null;
52         ResultSet rs = null;
53
54         try {
55             conn = jdbcUtils.getConnection();
56
57             String sql = "insert into user(name,birthday,money) values(?,?,?)";
58
59             ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
60
61             for (int i = 0; i < 1000; i++) {
62                 ps.setString(1, "name" + i);
63                 ps.setDate(2, new Date(System.currentTimeMillis()));
64                 ps.setFloat(3, 1000F + i);
65
66                 ps.addBatch();
67             }
68
69             int[] is = ps.executeBatch();
70
71         } finally {
72             jdbcUtils.free(rs, ps, conn);
73         }
74     }
75
76 }

BatchTest

时间: 2024-10-01 04:04:40

使用JDBC的批处理功能的相关文章

javaweb学习总结(三十六)——使用JDBC进行批处理

在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. JDBC实现批处理有两种方式:statement和preparedstatement 一.使用Statement完成批处理 1.使用Statement对象添加要批量执行SQL语句,如下: 1 Statement.addBatch(sql1); 2 Statement.addBatch(sql2); 3 Statement.addBatch(sql3);

使用JDBC进行批处理

在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. JDBC实现批处理有两种方式: statement 和 preparedstatement 一.使用Statement完成批处理 1.使用Statement对象添加要批量执行SQL语句,如下: Statement.addBatch(sql1); Statement.addBatch(sql2); Statement.addBatch(sql3); 2.

Arcpy基础入门-2、arcpy的批处理功能

教程1中我们简单的说了arcpy的使用方法,这应该特符合中国的国情吧,先会用再说.我们这一节还是讲arcpy的使用.说一下arcpy的批处理功能. ArcGIS作为世界领先的平台GIS软件,其应用的广泛性和良好的用户体验已经毋庸置疑.ArcGIS从地理数据库.地理处理框架.地理数据可视化三个方面构架起整个平台.同许多平台一样,arcgis有效的对其核心代码进行了封装,并提供了对功能的定制.这也算是许多平台软件都提供的功能,像CAD提供的宏命令. 来个示例代码看下: import arcpy ar

JDBC batch批处理Statement executeBatch 具体解释

JDBC提供了数据库batch处理的能力,在数据大批量操作(新增.删除等)的情况下能够大幅度提升系统的性能.我曾经接触的一个项目,在没有採用batch处理时,删除5万条数据大概要半个小时左右,后来对系统进行改造,採用了batch处理的方式,删除5万条数据基本上不会超过1分钟.看一段JDBC代码: // 关闭自己主动运行 con.setAutoCommit(false); Statement stmt = con.createStatement(); stmt.addBatch("INSERT I

[转]使用JDBC进行批处理

http://mousepc.iteye.com/blog/1131462 •业务场景:当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. 一.•实现批处理有两种方式,第一种方式:•Statement.addBatch(sql)•执行批处理SQL语句•executeBatch()方法:执行批处理命令•clearBatch()方法:清除批处理命令 Connection conn = null; Statement st = nul

深入分析JavaWeb Item30 -- 使用JDBC进行批处理

在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. JDBC实现批处理有两种方式:statement和preparedstatement 一.使用Statement完成批处理 1.使用Statement对象添加要批量执行SQL语句,如下: Statement.addBatch(sql1); Statement.addBatch(sql2); Statement.addBatch(sql3); 2.执行批

JDBC的批处理操作三种方式

SQL批处理是JDBC性能优化的重要武器,经本人研究总结,批处理的用法有三种. package lavasoft.jdbctest; import lavasoft.common.DBToolkit; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; /** * JDBC的批量操作三种方式 * * @auth

JavaWeb学习总结(十一)--JDBC之批处理

一.批处理的介绍 在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率.批处理只针对更新(增.删.改)语句,批处理没有查询什么事儿! JDBC实现批处理有两种方式:statement和preparedstatement 可以多次调用Statement类的addBatch(String sql)方法,把需要执行的所有SQL语句添加到一个"批"中,然后调用Statement类的executeBatch

[javaSE] JDBC的批处理

向数据库发送多条sql语句 create database batch use batch create table batch_table( id int primary key auto_increment, name varchar(20) ) insert into batch_table values(null,”aaa”) insert into batch_table values(null,”bbb”) insert into batch_table values(null,”c