【基于Thread多线程+随机数(Random)+java版本JDBC手动提交事务+EasyExcel读取excel文件,向数据库生成百万级别模拟数据】

在这里插入图片描述

基于Thread多线程+随机数(Random)+java版本JDBC手动提交事务+EasyExcel读取excel文件,向数据库生成百万级别模拟数据

      • 基于Thread多线程+随机数(Random)+java版本JDBC手动提交事务+EasyExcel读取excel文件,向数据库生成百万级别模拟数据
        • MyMyExcelDate
        • MyMythread
        • excel数据
        • 数据库结果

基于Thread多线程+随机数(Random)+java版本JDBC手动提交事务+EasyExcel读取excel文件,向数据库生成百万级别模拟数据

MyMyExcelDate
public class MyMyExcelDate {private String id ;private String name ;private String tel ;private String idcard;private String wechat;private String birth;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getTel() {return tel;}public void setTel(String tel) {this.tel = tel;}public String getIdcard() {return idcard;}public void setIdcard(String idcard) {this.idcard = idcard;}public String getWechat() {return wechat;}public void setWechat(String wechat) {this.wechat = wechat;}public String getBirth() {return birth;}public void setBirth(String birth) {this.birth = birth;}
}
MyMythread

ioi的大小根据实际调整

import com.alibaba.excel.EasyExcel;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;public class MyMythread {public static void main(String[] args) throws Exception {myThread f1 = new myThread();f1.start();myThread f2 = new myThread();f2.start();myThread f3 = new myThread();f3.start();myThread f4 = new myThread();f4.start();myThread f5 = new myThread();f5.start();myThread f6 = new myThread();f6.start();myThread f7 = new myThread();f7.start();myThread f8 = new myThread();f8.start();myThread f9 = new myThread();f9.start();myThread f0 = new myThread();f0.start();}static class myThread extends Thread{@Overridepublic void run(){InputStream inputStream = null;try {inputStream = new FileInputStream("C:\\Users\\test\\Desktop\\test.xlsx");} catch (FileNotFoundException e) {throw new RuntimeException(e);}List<MyMyExcelDate> tmpList = EasyExcel.read(inputStream)// 设置与Excel表映射的类.head(MyMyExcelDate.class)// 设置sheet,默认读取第一个.sheet(3)// 设置标题所在行数.headRowNumber(1)// 异步读取.doReadSync();List<String> nameList = new ArrayList<>();List<String> telList = new ArrayList<>();List<String> idcardList = new ArrayList<>();List<String> wechatList = new ArrayList<>();List<String> birthList = new ArrayList<>();for (MyMyExcelDate tmpDate : tmpList) {nameList.add(tmpDate.getName());telList.add(tmpDate.getTel());idcardList.add(tmpDate.getIdcard());wechatList.add(tmpDate.getWechat());birthList.add(tmpDate.getBirth());}// 生成 Random 对象Random random = new Random();int ioi = 1;while (ioi<=1000){System.out.println("批次:"+ioi);ioi++;String url = "jdbc:mysql://127.0.0.1:3306/testDB?characterEncoding=utf-8";String username = "root";String password = "123456";Connection conn = null;PreparedStatement ps = null;Long start = System.currentTimeMillis();System.out.println("start...");try {conn = DriverManager.getConnection(url, username, password);conn.setAutoCommit(false);String sql = "insert into mockdata(name,tel,idcard,wechat,birth) values (?,?,?,?,?)";ps = conn.prepareStatement(sql);// ps.executeUpdate();for (int i = 1; i <= 1000; i++) {int number = random.nextInt(100);int number2 = random.nextInt(100);int number3 = random.nextInt(100);int number4 = random.nextInt(100);int number5 = random.nextInt(100);ps.setString(1, nameList.get(number));ps.setString(2, telList.get(number2));ps.setString(3, idcardList.get(number3));ps.setString(4, wechatList.get(number4));ps.setString(5, birthList.get(number5));ps.addBatch();if (i % 100 == 0) {System.out.println("clear batch "+i);ps.executeBatch();ps.clearBatch();}}ps.executeBatch();conn.commit();} catch (SQLException e) {e.printStackTrace();} finally {try {if (ps != null) {ps.close();}if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}System.out.println("end"+ (System.currentTimeMillis()-start));}}}
}
excel数据

在这里插入图片描述

数据库结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/83836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《动手学深度学习》(pytorch版+mxnet版)2023最新

我又来推书了&#xff0c;这次分享的这本书可是重量级&#xff0c;目前已经被55个国家300所大学用于教学&#xff0c;同时受到了学术界与工业界的强烈推荐。 这本书就是李沐、阿斯顿张、立顿、斯莫拉四位大佬联合编写的《动手学深度学习》。本书面向中文读者&#xff0c;能运行…

基于SSM的旅游网站系统

基于SSM的旅游网站系统【附源码文档】、前后端分离 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;管理员、用户 管理员&#xff1a;用户管理、景点…

避免分库分表,绿普惠的分布式数据库选型与实践

作者&#xff1a;翻墨&#xff0c;绿普惠科技&#xff08;北京&#xff09;有限公司架构师 一项数据显示&#xff0c;今天大气中的二氧化碳水平比过去 65 万年高了 27%。主要原因来自于工业化需求下的煤炭燃烧、汽车尾气。随着人类活动造成的温室效应加剧&#xff0c;环保越来越…

小程序开发一个多少钱啊

在今天的数字化时代&#xff0c;小程序已经成为一种非常流行的应用程序形式。由于它们的便捷性、易用性和多功能性&#xff0c;小程序吸引了越来越多的用户和企业。但是&#xff0c;很多人在考虑开发一个小程序时&#xff0c;都会遇到同一个问题&#xff1a;开发一个小程序需要…

JavaWeb基础学习(5)

JavaWeb基础学习 一、Filter1.1 Filter介绍1.2 Filter快速入门1.3、Filter执行流程1.4、Filter使用细节1.5、Filter-案例-登陆验证 二、Listener2.1 Listener介绍2.2、ServletContextListener使用 三、AJAX3.1 AJAX介绍与概念3.2 AJAX快速入门3.3 Axios异步架构3.4 JSON-概述和…

腾讯mini项目-【指标监控服务重构】2023-08-18

今日已办 watermill 将 key 设置到 message 中 修改 watermill-kafka 源码 将 key 设置到 message.metadata中 接入 otel-sdk 添加 middleware resolveUpstreamCtx 解析上游上下文&#xff0c;开启根Span添加 middleware middleware.InstantAck - 马上ACK&#xff0c;使得多…

面试Java后端

sql 五表联合查询 面试八股 JDK&#xff0c;JRE,JVM之间的区别 JDK&#xff0c;Java标准开发包&#xff0c;它提供了编译、运行Java程序所需的各种工具和资源&#xff0c;包括Java编译器、Java运行时环境&#xff0c;以及常用的Java类库等。 JRE(Java Runtime Environment)&…

Learn Prompt-Prompt 高级技巧:AI-town 虚拟小镇

AI-town可能是2023年最令人鼓舞的AI代理实验之一。我们经常讨论单个LLM的突现能力&#xff0c;但 Agents 突现在大规模下可能会更复杂和迷人。一个AI的种群可以展现出整个文明的演化。 &#x1f389;开始阅读前&#xff0c;如果你对其他文章感兴趣&#xff0c;可以到欢迎页关注…

Anaconda下载安装教程,新手详细

Anaconda的安装包下载分为官网下载和清华源下载&#xff0c; ①官网&#xff1a;Anaconda官网 &#xff08;别的博主说官网较慢&#xff0c;有时候还进不去&#xff0c;我感觉还行&#xff0c;2分钟就下载好了。如果不顺利&#xff0c;请尝试使用清华源&#xff09; ②清华源…

机器学习入门教学——损失函数(极大似然估计法)

1、前言 我们在训练神经网络时&#xff0c;最常用到的方法就是梯度下降法。在了解梯度下降法前&#xff0c;我们需要了解什么是损失(代价)函数。所谓求的梯度&#xff0c;就是损失函数的梯度。如果不知道什么是梯度下降的&#xff0c;可以看一下这篇文章&#xff1a;机器学习入…

性能测试 —— Tomcat监控与调优:status页监控

Tomcat服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;Tomcat是Apache 软件基金会(Apache Software Foundation)Jakarta 项目中的一个核心项目&#xff0c;由Apache、Sun 和其他一些公司及个人共同开发而成。 Tomcat是一个轻量级应用服务器&#xff0c;在中小型系统…

DevExpress WinForms图表组件 - 直观的数据信息呈现新方式!(一)

凭借界面控件DevExpress WinForms全面的2D和3D图表类型的集合&#xff0c;DevExpress WinForms的图表控件设计大大简化了开发者直观地向最终用户呈现信息的方式。 DevExpress WinForms有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。同时能完…

IDEA——工程项目的两种窗口开发模式

文章目录 引言一、多项目窗口模式的便利1.1 源码 debug 二、多项目窗口模式的弊端三、多项目窗口的版本管理四、单项目、多项目窗口模式转换 引言 idea编辑器有两种窗口模式&#xff0c;一种是单项目窗口&#xff0c;另一种是多项目窗口。 我个人使用较多的是单项目窗口&#…

Linux 多线程 | 线程安全、死锁、线程同步

在前面的文章中我们讲述了锁的理解、原理、用户级线程库的内容&#xff0c;以及对Linux中的锁和线程进行了封装&#xff0c;本文中将继续对多线程的内容进行讲解。 可重入与线程安全 概念 线程安全&#xff1a;多个线程并发同一段代码时&#xff0c;不会出现不同的结果。常见…

网络安全第一次作业

1、什么是防火墙 防火墙是一种网络安全系统&#xff0c;它根据预先确定的安全规则监视和控制传入和传出的网络流量。其主要目的是阻止对计算机或网络的未经授权的访问&#xff0c;同时允许合法通信通过。 防火墙可以在硬件、软件或两者的组合中实现&#xff0c;并且可以配置为根…

七绝 . 秋寒

题记 拜读署名“淡定人生D”近日发表在“ 今日头条 ”上的古体诗《七绝 . 凉》&#xff0c;本老朽在由衷赞叹该女子才貌双全之时&#xff0c;也对自己寄居养老的成都崇州街子古镇今日下午的秋寒突至天气&#xff0c;情怀涌动&#xff0c;思绪万千&#xff0c;亦作《七绝 . 秋寒…

JavaScript小案例-树形菜单(菜单数据为数组)

菜单层级理论上可以无限多&#xff0c;因为是递归渲染。 gif演示图&#xff1a; 代码&#xff1a; 树形菜单.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content&quo…

超越创意,从用户创造内容到AI生成内容的新时代

在这个信息爆炸的时代&#xff0c;内容创作正经历前所未有的变革&#xff0c;其频率和多样性令人瞠目结舌。曾经&#xff0c;我们主要依赖传统媒体&#xff0c;需要专业团队为人们打造内容&#xff0c;这被称为专业生成内容&#xff08;PGC&#xff0c;Professional-generated …

MD5加密算法

1、简介 MD5在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明&#xff0c;经MD2、MD3和MD4发展而来。 MD5将任意长度的“字节串”变换成一个128bit的大整数&#xff0c;并且它是一个不可逆的字符串变换算法&#xff0c;换句话说就是&#xff0c;即使你看到源程序…

IO口电路种类

文章目录 参考1.高速振荡电路&#xff08;时钟IO引脚&#xff09;2.与 GPIO 功能共享的低速振荡电路&#xff08;子时钟IO&#xff09;3.CMOS 滞后输入引脚4.电源输入保护电路5.A/D 转换器 ref (AVRH)带保护电路的电源输入端6.CMOS 电平输出7.CMOS 电平输出&#xff0c;带有模…