针对oracle BATCH 大批量数据操作:
Class.forName("oracle.jdbc.OracleDriver");
Connection con = (Connection)DriverManager.getConnection("jdbc:oracle:thin:@ip:port:service","username","password");
// 关闭事务自动提交
con.setAutoCommit(false);
SimpleDateFormat sdf = newSimpleDateFormat("HH:mm:ss:SS");
TimeZone t = sdf.getTimeZone();
t.setRawOffset(0);
sdf.setTimeZone(t);
Long startTime =System.currentTimeMillis();
PreparedStatement pst =(PreparedStatement) con.prepareStatement("insert into test04 values (?,'中国')");
for (int i = 1000; i < 100000; i++){
pst.setInt(1, i);
// 把一个SQL命令加入命令列表
pst.addBatch();
}
// 执行批量更新
pst.executeBatch();
// 语句执行完毕,提交本事务
con.commit();
Long endTime =System.currentTimeMillis();
System.out.println("用时:" + sdf.format(newDate(endTime - startTime)));
pst.close();
con.close();
time:3s
win