当前位置: 首页 > news >正文

Java 批量插入数据(Oracle)

  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.   }  
 

转载于:https://www.cnblogs.com/likeju/p/4942249.html

相关文章:

  • 使用Eclipse生成WebService代理并测试
  • 我所理解的大数据个性化推荐
  • 【转】JDBC为什么要使用PreparedStatement而不是Statement
  • 转: 腾讯Bugly干货分享:Android应用性能评测调优
  • 华为云真是太坑了
  • 【Android入门】——模拟器的创建及常见问题汇总
  • Struts2前准备(MyEclipse)
  • js登录页面的 回车事件
  • div垂直居中
  • SQL 标准中的四种隔离级别
  • git 提交oschina
  • [UVa11292] Dragon of Loowater
  • 【iOS】NSString rangeOfString
  • 在UITableview的应用中使用动态单元格来完成app应用程序管理界面的搭建
  • PHP 数组和对象的相互转化
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Java新版本的开发已正式进入轨道,版本号18.3
  • java正则表式的使用
  • JSONP原理
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Python 反序列化安全问题(二)
  • Redis字符串类型内部编码剖析
  • springboot_database项目介绍
  • Spring声明式事务管理之一:五大属性分析
  • Vim Clutch | 面向脚踏板编程……
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 服务器之间,相同帐号,实现免密钥登录
  • 观察者模式实现非直接耦合
  • 深度学习在携程攻略社区的应用
  • 使用Gradle第一次构建Java程序
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 学习HTTP相关知识笔记
  • hi-nginx-1.3.4编译安装
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • #etcd#安装时出错
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #Lua:Lua调用C++生成的DLL库
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (C)一些题4
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (八)Spring源码解析:Spring MVC
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二)丶RabbitMQ的六大核心
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (三)docker:Dockerfile构建容器运行jar包
  • (一) storm的集群安装与配置
  • *Django中的Ajax 纯js的书写样式1
  • .net CHARTING图表控件下载地址
  • .NET CLR Hosting 简介
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET和.COM和.CN域名区别
  • .net生成的类,跨工程调用显示注释