packagecom.litian.jdbc;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.Statement;/***@author: Li Tian

* @contact: [email protected]

* @software: IntelliJ IDEA

* @file: JDBCTest4.java

* @time: 2020/4/4 14:18

* @desc: |批量处理事务*/

public classJDBCTest4 {public static voidmain(String[] args){//testStatement();

testPrepareStatement();

}/*** 向数据库的数据表中插入10w条记录

* 测试如何插入,用时最短

* 1. 使用Statement:15038*/

public static voidtestStatement() {

Connection conn= null;

Statement st= null;

String sql= null;try{

conn=JDBCTools.getConnection();

JDBCTools.beginTx(conn);

st=conn.createStatement();long begin =System.currentTimeMillis();for (int i = 0; i < 100000; i++) {

sql= String.format("insert into t_user2(username, pwd) values(name_%d, 6666)", i);

st.executeUpdate(sql);

}long end =System.currentTimeMillis();

System.out.println(end-begin);

JDBCTools.commit(conn);

}catch(Exception e) {

e.printStackTrace();

JDBCTools.rollback(conn);

}finally{

JDBCTools.release(null, st, conn);

}

}/*** 向数据库的数据表中插入10w条记录

* 测试如何插入,用时最短

* 2. 使用PreparedStatement:13131

* 3. 在2的基础上使用批量处理:24596?这就很尴尬了*/

public static voidtestPrepareStatement() {

Connection conn= null;

PreparedStatement st= null;

String sql= null;try{

conn=JDBCTools.getConnection();

JDBCTools.beginTx(conn);

sql= "insert into t_user2(username, pwd) values(?,?)";

st=conn.prepareStatement(sql);long begin =System.currentTimeMillis();for (int i = 0; i < 100000; i++) {

st.setString(1, "name_" +i);

st.setString(2, "6666");

st.executeUpdate();//“积攒”sql语句

st.addBatch();;//当积攒到一定程度,就统一地执行一次,并且清空先前积攒的sql

if((i + 1) % 300 == 0){

st.executeBatch();

st.clearBatch();

}

}//若总条数不是批量数值的整数倍,则还需要额外再执行一次

if(100000 % 300 != 0){

st.executeBatch();

st.clearBatch();

}long end =System.currentTimeMillis();

System.out.println(end-begin);

JDBCTools.commit(conn);

}catch(Exception e) {

e.printStackTrace();

JDBCTools.rollback(conn);

}finally{

JDBCTools.release(null, st, conn);

}

}

}

mysql jdbc 批量_MYSQL 之 JDBC(十四):批量处理JDBC语句提高处理效率相关推荐

  1. 物理机存放mysql实例原则_MySQL优化笔记(四)--表的设计与优化(单表、多表)...

    前面讲了SQL优化以及索引的使用.设计优化了,那么接下来就到表的设计与优化啦!!!真实地去设计优化单表结构以及讲述多表设计基本原则(结合真实的生产环境的取舍来讲述). 文章结构:(1)单表设计与优化: ...

  2. mysql 临时表 事务_MySQL学习笔记十:游标/动态SQL/临时表/事务

    逆天十三少 发表于:2020-11-12 08:12 阅读: 90次 这篇教程主要讲解了MySQL学习笔记十:游标/动态SQL/临时表/事务,并附有相关的代码样列,我觉得非常有帮助,现在分享出来大家一 ...

  3. mysql 存储过程 队列_mysql使用存储过程函数实现批量插入

    写这边文章的目的,是想结合mysql 存储过程+函数完成一个批量删除的功能吧...正好也好加深下对procedure和function的熟练操作吧... 废话不多说,我就直接上表结构啦哈,如下: cr ...

  4. mysql revoke 用法_mysql进阶(二十八)MySQL GRANT REVOKE用法

    mysql进阶(二十八)MySQL GRANT REVOKE用法 MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执行查 ...

  5. mysql 分组链接_MySQL学习笔记(四)——分组函数,分组查询,链接查询

    MySQL学习笔记(四)--分组函数,分组查询,链接查询 做者:就叫易易好了 日期:2020/11/18 1.分组函数 功能:用做统计使用,又称为聚合函数或统计函数mysql 分类:web sum函数 ...

  6. mysql mha配置文件详解_十四、MySQL MHA 高可用配置(一)

    MHA 高可用 1.准备三台机器 IP:10.0.0.51 主机名:db01 内存:2G IP:10.0.0.52 主机名:db02 内存:2G IP:10.0.0.53 主机名:db03 内存:2G ...

  7. mysql索引实例_mysql索引之十:Mysql 索引案例学习

    理解索引最好的办法是结合示例,所以这里准备了一个索引的案例. 假设要设计一个在线约会网站,用户信息表有很多列,包裹国家,地区,城市,性别,眼睛颜色,等等.完整必须支持上面这些特征的各种组合来搜索用户, ...

  8. Java批量修改文件名称(十四)

    古语有云: 万恶淫为首,百善孝为先. 我们后辈当自勉. 上一章简单介绍了Properties 类的详细使用(十三),如果没有看过,请观看上一章 一.批量修改文件名称 在生活和工作中,常常会遇到批量修改 ...

  9. mysql workbench 主从_MySQL Workbench 使用教程 (四)

    使用Workbench 配置MySQL的主从复制 首先在两台虚拟主机上安装MySQL服务器,并且按照教程一配置好连接. Master 192.168.2.208    Slave 192.168.2. ...

最新文章

  1. ASP.NET中生成缩略图的代码
  2. AI理论知识整理(3)-正定矩阵
  3. 探索适用于Apache Spark的Spline Data Tracker和可视化工具(第2部分)
  4. 编程基本功:如何拆分一个大函数
  5. app首次进入的时候,新手操作进行提醒操作
  6. 远程控制软件teamview好用么?
  7. Pod 的生命周期及探针
  8. 使用ESAPI 解决veracode 漏洞
  9. 原生javascript分页 html分页与ajax数据请求结合使用 前端js分页
  10. 动态规划——状态转移方程
  11. java毕业设计—— 基于java+JSP+SSH的网上购物系统设计与实现(毕业论文+程序源码)——网上购物系统
  12. android体脂代码,该减肥了吗?教你用手机App测量体脂率
  13. JS-移除class
  14. 减字 浣溪沙-听歌有感 (清)况周颐
  15. ATECC508A芯片开发笔记(八):ECDH算法配置方法、执行过程及实现原理
  16. 基于java斗地主设计报告_基于java实现斗地主代码实例解析
  17. Termux设置——服务自启动
  18. 10-133 4-5 查询具有最低价格的的彩色打印机的制造商
  19. 基于vue.js后台管理系统框架学习
  20. 服务器,域名,备案,解析等

热门文章

  1. 网页实现人脸识别PHP,奇思妙想-用HTML5进行人脸识别
  2. 华为三层交换机路由配置案例_{华为HCNP-RS}三层交换机的配置实例
  3. 连接端口 配置hive_Zeppelin带有Kerberos认证的Hive解释器的配置
  4. 语言怎么绘画人物肖像_坦培拉绘画技法——油画简史
  5. 极性大小判断技巧_“赫洛克效应”:夸奖能激发孩子的潜能,但父母要掌握技巧与原则...
  6. android wifimanager权限,Android 6.0.1 - 权限问题= wifiManager.getScanResults()返回0
  7. esxi虚拟化集群_ProxmoxVE 之集群安装(V5.2)
  8. sql查询两个表结果相减_SQL 操作结果集 -并集、差集、交集、结果集排序
  9. 计算机技术+智能化水电站,水电工程BIM用太少?水电工程BIM案例全解读
  10. mongodb php 安装配置,MongoDB 基本安装配置