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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM