现有Stringstring="AA11BB22CC33DD44........“;需要把它批量插入oracle:数据库字段1字段2AA11BB22CC33DD44..........提供参考代码:1.//批量添加20000条数据用时8秒。2.try{3.Strin...
现有 String string="AA 11 BB 22 CC 33 DD 44 ........“;
需要把它批量插入oracle :
数据库
字段1 字段2
AA 11
BB 22
CC 33
DD 44
..... .....
提供参考代码:
1.//批量添加20000条数据用时8秒。
2.try {
3. String url = "jdbc:oracle:thin:@IP:1521:orcl"; // orcl为数据库的SID
4. String user = "oracle";
5. String password = "oracle";
6. StringBuffer sql = new StringBuffer();
7. sql.append("insert into ex_log (EX_LOG_ID,EX_LOG_DATE) values (?,?)");
8. Class.forName("oracle.jdbc.driver.OracleDriver");
9. Connection con = (Connection) DriverManager.getConnection(url,user,password);
10. // 关闭事务自动提交
11. con.setAutoCommit(false);
12.
13. Long startTime = System.currentTimeMillis();
14. PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql.toString());
15. for (int i = 0; i < list.size(); i++) {
16. ExLog exLog = (ExLog)list.get(i);
17. pst.setString(1, exLog.getExLogId());
18. pst.setString(2, exLog.getExLogDate());
19. // 把一个SQL命令加入命令列表
20. pst.addBatch();
21. }
22. // 执行批量更新
23. pst.executeBatch();
24. // 语句执行完毕,提交本事务
25. con.commit();
26. Long endTime = System.currentTimeMillis();
27. System.out.println("用时:" + (endTime - startTime));
28. pst.close();
29. con.close();
30. } catch (ClassNotFoundException e) {
31. e.printStackTrace();
32. } catch (SQLException e) {
33. e.printStackTrace();
34. }
展开