Java 批量插入数据(Oracle)
//批量添加20000条数据用时8秒。
try {
String url = "jdbc:oracle:thin:@IP:1521:orcl"; // orcl为数据库的SID
String user = "oracle";
String password = "oracle";
StringBuffer sql = new StringBuffer();
sql.append("insert into ex_log (EX_LOG_ID,EX_LOG_DATE) values (?,?)");
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = (Connection) DriverManager.getConnection(url,user,password);
// 关闭事务自动提交
con.setAutoCommit(false);
Long startTime = System.currentTimeMillis();
PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql.toString());
for (int i = 0; i < list.size(); i++) {
ExLog exLog = (ExLog)list.get(i);
pst.setString(1, exLog.getExLogId());
pst.setString(2, exLog.getExLogDate());
// 把一个SQL命令加入命令列表
pst.addBatch();
}
// 执行批量更新
pst.executeBatch();
// 语句执行完毕,提交本事务
con.commit();
Long endTime = System.currentTimeMillis();
System.out.println("用时:" + (endTime - startTime));
pst.close();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
文档来源:Java 批量插入数据(Oracle)
作者:虾米哥
微信公众号:IT虾米,左侧为二维码
个人技术网站-IT虾米网:http://www.itxm.cn
个人技术网站-编程符号网:http://www.itfh.cn
个人技术网站-IT源码网:http://www.itym.cn
新浪微博:https://weibo.com/u/2814576687
如果你想及时得到个人撰写文章以及著作的消息推送,或者想看看个人推荐的技术资料,可以扫描左边二维码(或者长按识别二维码)关注个人公众号。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。