-------------------------------------------------------------------------
long start=System.currentTimeMillis();//获取最初时间
createBatch(); //测试的代码段,通常可以将主要算法封装在这里
long end=System.currentTimeMillis();//获取运行结束时间
System.out.println("程序运行时间:"+(end-start)+"ms");
---------------------------------------------------------------------------------
long start = System.currentTimeMillis();
createBatch();
long end = System.currentTimeMillis();
System.out.println("程序所用时间:" + (end - start) + "ms");
-----------------------------------------------------------------------------------
以运行1000次为例子:
程序所用时间:26601ms
--------------------------------------
源代码如下:
-----------------------------------
package cn.itcase.jdbc2;
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();
createBatch();
long end = System.currentTimeMillis();
System.out.println("程序所用时间:" + (end - start) + "ms");
}
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, "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 < 10; 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);
}
}
}