本帖最后由 lucy198921 于 2013-3-29 23:03 编辑
java相关的只是基本上多掌握是最好了,比如面向对象,多线程,IO流等等之类的......
//批量添加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();
- }
复制代码 |