您的位置:首页 > 其它

JDBC的批处理

2015-10-02 10:51 387 查看
当存在大量的数据需要操作时,如果使用通常的做法会十分浪费时间,因为一次数据库操作的时间主要在建立连接和释放资源上(即使应用了连接池,这两个步骤依然十分耗费时间)。

因此,当有大量数据需要操作时,可以使用批处理的方式操作。

package cn.itcast.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 {

public static void main(String[] args) throws SQLException {
create();
}

static void create() 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);
for (int i = 0; i < 1000; i++) {
ps.setString(1, "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);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: