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

批生产数据库

package cn.Pdispose;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;


import cn.paging.JdbcUtil;


//批处理
public class Dispose {
private static Connection conn = null;
private static Statement st = null;
private static PreparedStatement ps = null;
public static void testInsert(){
try {
conn = JdbcUtil.getConnection();
st = conn.createStatement();
String sql1 = "insert into t_name(id,name) values(1,'jing')";
String sql2 = "insert into t_name(id,name) values(2,'zhang')";
String sql3 = "delete from t_name where id = 1";
//addBatch()内部为一个list,加到list中
st.addBatch(sql1);
st.addBatch(sql2);
st.addBatch(sql3);
//元素师每条语句影响到的行数
int [] i = st.executeBatch();
for(int num : i){
System.out.println(num);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
JdbcUtil.closeJdbc(conn, null, ps);
}
}

//同一时候在一个表里边插入100条数据
//因为语句全然同样。仅仅是參数不同。使用PreparedStatement
public static void testInsert_1(){
long date = System.currentTimeMillis();
try {
conn = JdbcUtil.getConnection();
String sql = "insert into t_name values(?,?)";
ps = conn.prepareStatement(sql);
for(int i=1;i<=100;i++){
ps.setInt(1, i);
ps.setString(2, "date---"+i);
//将一组參数加入到此 PreparedStatement 对象的批处理命令中。
ps.addBatch();
}
//将一批命令提交给数据库来运行。假设所有命令运行成功,则返回更新计数组成的数组。
ps.executeBatch();
} catch (SQLException e) {
e.printStackTrace();
}finally{
JdbcUtil.closeJdbc(conn, null, ps);
}
System.out.println("用时:"+((System.currentTimeMillis()-date)/1000)+"秒");
}

//想数据库中插入10000条数据,并设置缓存区
public static void testInsert_2(){
//初始化一个时间
long time = System.currentTimeMillis();
try {
conn = JdbcUtil.getConnection();
String sql = "insert into t_name values(?

,?)";
ps = conn.prepareStatement(sql);
for(int i=1;i<1000001;i++){
ps.setInt(1, i);
ps.setString(2, "date"+i);
ps.addBatch();
if(i%1000==0){
ps.executeBatch();
ps.clearBatch();//清空数据
}
}
ps.executeBatch();
} catch (SQLException e) {
e.printStackTrace();
}finally{
JdbcUtil.closeJdbc(conn, null, ps);
}

System.out.println("用时:"+((System.currentTimeMillis()-time)/1000)+"秒");
}


public static void main(String[] args) {
testInsert_2();
}
}













版权声明:本文博主原创文章,博客,未经同意不得转载。

相关文章:

  • 彩色图像--色彩空间 HSI(HSL)、HSV(HSB)
  • java中Map,List与Set的区别
  • 利用print2flashsetup.exe文档转swf
  • poj 3254 Corn Fields 国家压缩dp
  • [实战]MVC5+EF6+MySql企业网盘实战(5)——登录界面,头像等比例压缩
  • [转]Java输入输出流的使用详细介绍
  • 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数005·graphics-obj,基本绘图单元,包括线段、矩形、椭圆、圆形...
  • iOS app无launch screen.xib 对各个版本进行适配
  • iOS tintColor解析
  • 19/10/2015 晴 十点
  • GitHub Config文件中[user] [remote origin]的配置
  • Java Web 登录采用非对称加密(RSA算法)
  • DAG 的最短路径算法
  • 推荐一个c++小巧开源且跨平台的图像解码库
  • WDS+MDT部署Windows7操作系统2—;导入启动映像和安装映像
  • Android系统模拟器绘制实现概述
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • interface和setter,getter
  • MobX
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vue 动态创建 component
  • vue--为什么data属性必须是一个函数
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 程序员最讨厌的9句话,你可有补充?
  • 关于for循环的简单归纳
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 突破自己的技术思维
  • 我的面试准备过程--容器(更新中)
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • linux 淘宝开源监控工具tsar
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • #QT项目实战(天气预报)
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (20050108)又读《平凡的世界》
  • (vue)页面文件上传获取:action地址
  • (动态规划)5. 最长回文子串 java解决
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • ***原理与防范
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Core WebAPI中封装Swagger配置
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .net打印*三角形
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • [C++参考]拷贝构造函数的参数必须是引用类型
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [CC-FNCS]Chef and Churu