`
minghe_zy
  • 浏览: 123580 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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();
  }

分享到:
评论
2 楼 wuwhai0303 2013-03-01  
50万数据怎么办呢?
1 楼 wuwhai0303 2013-03-01  
内存够大么?

相关推荐

Global site tag (gtag.js) - Google Analytics