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

Excel多线程导入数据库

文章目录

  • Excel多线程导入数据库
    • 1. CountDownLatch
    • 2.多线程导入数据库

Excel多线程导入数据库

书接上文 Excel20w数据5s导入

1. CountDownLatch

CountDownLatch 维护了一个计数器,初始值为指定的数量。当一个或多个线程调用 await() 方法时,它们会被阻塞,直到计数器的值变为 0。而其他线程可以通过调用 countDown() 方法来减小计数器的值,当计数器的值变为 0 时,所有处于等待状态的线程都会被唤醒。
需要注意的是,CountDownLatch 是一次性的,即计数器的值减为 0 后就不能再重置成其他值。

2.多线程导入数据库

dao

    @Insert("insert into excel(id,name,age) values (#{id},#{name},#{age})")void insert(Man man);

service

 public String add5() {ExcelReader reader = ExcelUtil.getReader(FileUtil.file("C:\\Users\\26896\\Desktop\\test.xlsx"), "sheet1");long startTime1 = System.currentTimeMillis();try {CountDownLatch latch = new CountDownLatch(200);int batch = 1000;for (int i = 1; i <= 200000; i += batch) {final int start = i; // 将循环变量赋值给新变量 startfinal int end = i + batch - 1; // 计算结束位置executor.submit(() -> {List<Man> read = reader.read(0, start, end, Man.class);excelDao.add(read);latch.countDown();});}latch.await();long startTime = System.currentTimeMillis();System.out.println("最终的结果为:" + (startTime - startTime1));} catch (Exception e) {e.printStackTrace();} finally {executor.shutdown();}return null;}

测试只需要在测试类中注入service调用方法即可
测试结果 这个结果包括从read读数据所以相对而言可能慢一点
在这里插入图片描述

相关文章:

Excel多线程导入数据库

文章目录 Excel多线程导入数据库1. CountDownLatch2.多线程导入数据库 Excel多线程导入数据库 书接上文 Excel20w数据5s导入 1. CountDownLatch CountDownLatch 维护了一个计数器&#xff0c;初始值为指定的数量。当一个或多个线程调用 await() 方法时&#xff0c;它们会被阻…...

Linux开机默认进入命令行或图形化模式

开机默认进入命令行 sudo systemctl set - default multi-user.target 执行上面命令后重新启动 reboot开机默认进入图形化界面 sudo systemctl set - default graphical.target 执行上面命令后重新启动 reboot或者 先进入root之后 su 在执行 systemctl set - default …...

ajax请求的时候get 和post方式的区别?

在 AJAX 请求中&#xff0c;GET 和 POST 是两种常用的请求方法&#xff0c;它们在发送请求时有一些区别&#xff1a; GET 请求&#xff1a; GET 请求用于向服务器请求获取指定资源&#xff0c;请求参数会附加在 URL 的末尾&#xff0c;以查询字符串的形式出现。GET 请求将请求…...

还不知道光场相机吗?

1.什么是光场&#xff1f; 光场&#xff08;light field&#xff09;&#xff1a;就是指光在每一个方向通过每一个点的光量。 从概念里&#xff0c;你至少可以得到两点信息&#xff1a; 光场包含光的方向光场包含一个点的光量 2.什么是光场相机 我们知道普通的相机拍照成像…...

软信天成:助力某制造企业建设产品主数据管理平台案例分享

某国有大型传统制造企业是一家跨领域、跨行业经营的国际化公司&#xff0c;在全球范围内拥有动力系统、工程机械、汽车制造等多个业务板块、分子公司遍及世界、产品远销110多个国家和地区&#xff0c;产品品类繁多&#xff0c;分支架构错综复杂。 近年来&#xff0c;数字化的深…...

C#WPFPrism框架导航应用实例

本文实例演示C#WPFPrism框架导航应用实例。 一、导航实现步骤 首先创建WPF项目,修改App相关文件内容,以便使用prism。 承接上一个模块化的实例,在这个基础上更改增加导航功能。 1.1首先在ModuleA中添加ViewModels文件夹,添加ViewAViewModel.cs类 如果想上下文自动查找…...

Centos安装gitlabce

服务器配置要求&#xff08;2c4g&#xff09; 1、 安装其他组件 yum install -y curl policycoreutils-python openssh perl2、 安装Postfix服务以发送电子邮件通知&#xff0c;启动服务并自启 yum -y install postfix systemctl enable postfix --now3、 安装gitlab&#xf…...

android8.1- Show virtual keyboard 默认打开

修改路径&#xff1a;android-8.1\frameworks\base\packages\SettingsProvider\res\values\defaults.xml 将 &#xff1a;<bool name"def_show_ime_with_hard_keyboard">false</bool> 改成 &#xff1a;true <!-- Default for Settings.Secure.MULTI_…...

打印机连接网络后怎么安装驱动?

打印机在我们办公和生活中算是比较常见的设备&#xff0c;特别是在上班时需要时常打印各种文件&#xff0c;但是有时电脑上的打印机也会有无法打印的问题&#xff0c;或者新买的打印机需要先安装驱动才能正常打印的。 那么这个时候我们需要先检查电脑上的打印机是否有安装驱动&…...

光流法动目标检测

目录 前言 一、效果展示 二、光流法介绍 三、代码展示 总结 前言 动目标检测是计算机视觉领域的一个热门研究方向。传统的方法主要基于背景建模&#xff0c;但这些方法对于光照变化、遮挡和噪声敏感。因此&#xff0c;研究人员一直在寻找更加鲁棒和有效的技术来解决这一问题。…...

【机器学习合集】泛化与正则化合集 ->(个人学习记录笔记)

文章目录 泛化与正则化1. 泛化(generalization)2. 正则化方法2.1 显式正则化方法显式正则化方法对比提前终止模型的训练多个模型集成Dropout技术 2.2 参数正则化方法2.3 隐式正则化方法方法对比 泛化与正则化 1. 泛化(generalization) 泛化不好可能带来的问题 模型性能不稳定容…...

软考高级之系统架构师之数据流图和流程图

数据流图 概述 数据流图&#xff0c;DFD&#xff0c;用于表示业务信息系统中的数据流&#xff0c;它表达系统中的据传从输入到存储间所涉及的程序。采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程&#xff0c;是结构化系统分析方法的主要表达工具…...

CVPR2023新作:基于组合空时位移的视频修复

Title: A Simple Baseline for Video Restoration With Grouped Spatial-Temporal Shift (视频修复的简单基准&#xff1a;组合空时位移) Affiliation: CUHK MMLab (香港中文大学多媒体实验室) Authors: Dasong Li, Xiaoyu Shi, Yi Zhang, Ka Chun Cheung, Simon See, Xiaoga…...

我的Windows10下的WSL的使用经历

微软每年都会举办Build开发者大会&#xff0c;近年来越来越受关注的Linux 子系统Windows Subsystem for Linux&#xff08;WSL&#xff09;已经很完善了&#xff0c;我抱着体验一把的心态&#xff0c;也来使用一下这个功能。 各位新手Linux朋友们&#xff0c;有没有想过怎么在…...

人声分离神仙网站,用过都说好~

在生活中好听的音乐有千千万的&#xff0c;音乐是非常容易可以找到下载下来的&#xff0c;但是背景音乐相当不容易找的&#xff0c;我们看的某短视频的背景音乐我们觉得不错的&#xff0c;想要下载下来的时候&#xff0c;我们都会无从下手不知道如何才可以找到这个相关的背景音…...

通过流量安全分析发现主机异常

主机异常分析在计算机系统中具有重要意义。以下是主机异常分析的几个关键点&#xff1a; 1、检测安全威胁&#xff1a;主机是计算机系统的核心组件&#xff0c;通过对主机异常进行分析&#xff0c;可以快速检测到潜在的安全威胁&#xff0c;如恶意软件、病毒感染、黑客入侵等。…...

如何设计实时聊天系统的架构

1. 系统的要求和目标 1.1 功能要求 对话&#xff1a;系统应支持用户之间的一对一和群组对话。确认消息&#xff1a;系统应支持消息传递确认&#xff0c;如已发送、已送达、已读。共享&#xff1a;系统应支持媒体文件的共享&#xff0c;例如图像、视频和音频。聊天存储&#x…...

js sm4实现加密解密

2023.10.25今天我学习了如何使用sm4进行加密解密&#xff1a; 注意&#xff1a;前端和后端的编码必须相同才能使用&#xff0c;不然会出现空字符串的错误。 一、首先安装sm4.js包&#xff1a; npm i sm4js package.json中的版本&#xff1a; &#xff08;安装失败的话可以直接…...

安装 fcitx + 搜狗/谷歌输入法 之后导致 四季,重启后黑屏只有鼠标可以移动

一般的原因就是 &#xff1a; fcitx 导致的问题 方法就是 先卸载搜狗&#xff0c;再卸载fcitx 解决办法&#xff1a; 首先&#xff1a;ctrlaltF6 进入命令行界面&#xff0c;如果进不去就 ctrlaltF2 接下来执行&#xff1a; sudo apt-get remove sogoupinyin sudo apt-get …...

kuaishou web端did注册激活 学习记录

快手web端 did 注册激活的流程大概如下&#xff1a; 1.访问web端的接口&#xff0c;主动触发滑块&#xff0c;拿到滑块信息 2.然后滑块验证did 获取captchaToken 3.携带captchaToken访问接口 4.最后校验web端的did 是否激活 最后激活以后的效果如下&#xff1a; 经过测试&…...

如何快速上手MOOTDX:Python量化分析者的通达信数据完整实战手册

如何快速上手MOOTDX&#xff1a;Python量化分析者的通达信数据完整实战手册 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx MOOTDX是一个专门为Python开发者设计的通达信数据接口封装库&#xff0…...

如何用OpenPLC Editor实现工业级控制?3大场景实战指南

如何用OpenPLC Editor实现工业级控制&#xff1f;3大场景实战指南 【免费下载链接】OpenPLC_Editor 项目地址: https://gitcode.com/gh_mirrors/ope/OpenPLC_Editor 你是否曾遇到过工业控制编程的困境&#xff1f;传统PLC开发成本高昂、学习曲线陡峭、兼容性差&#xf…...

yatest:Arduino主机端单元测试与API模拟框架

1. yatest&#xff1a;面向Arduino生态的轻量级主机端单元测试框架在嵌入式开发实践中&#xff0c;Arduino平台因其易用性与丰富生态广受硬件工程师、教育工作者及电子爱好者青睐。然而&#xff0c;其传统开发流程长期面临一个根本性工程瓶颈&#xff1a;缺乏可落地的、与硬件解…...

Pitest:Java代码质量保障的突变测试解决方案

Pitest&#xff1a;Java代码质量保障的突变测试解决方案 【免费下载链接】pitest State of the art mutation testing system for the JVM 项目地址: https://gitcode.com/gh_mirrors/pi/pitest 一、概念解析&#xff1a;突变测试的技术本质与工作原理 1.1 从传统测试到…...

SPIRE项目中的EJBCA上游证书颁发机构插件详解

SPIRE项目中的EJBCA上游证书颁发机构插件详解 【免费下载链接】spire SPIRE是一个开源的SPIFFE运行时环境&#xff0c;用于在Kubernetes集群中实现工作负载的身份识别和访问控制。 - 功能&#xff1a;工作负载身份识别&#xff1b;访问控制&#xff1b;身份凭证管理&#xff1b…...

精通Videomass专业视频编辑:5个高效处理技巧实战指南

精通Videomass专业视频编辑&#xff1a;5个高效处理技巧实战指南 【免费下载链接】Videomass Videomass is a free, open source and cross-platform GUI for FFmpeg and yt-dlp 项目地址: https://gitcode.com/gh_mirrors/vi/Videomass Videomass是一款基于FFmpeg和yt-…...

Navicat Reset Mac工具:3种无风险试用期重置方法,零基础也能掌握

Navicat Reset Mac工具&#xff1a;3种无风险试用期重置方法&#xff0c;零基础也能掌握 【免费下载链接】navicat_reset_mac navicat16 mac版无限重置试用期脚本 项目地址: https://gitcode.com/gh_mirrors/na/navicat_reset_mac 您是否遇到过Navicat试用期到期的困扰&…...

流处理 vs 批处理:大数据时代的技术选择指南

流处理 vs 批处理&#xff1a;大数据时代的技术选择指南 关键词&#xff1a;流处理、批处理、大数据、实时计算、离线计算、延迟、吞吐量 摘要&#xff1a;在大数据时代&#xff0c;数据处理就像一场永不停歇的"数据马拉松"。流处理和批处理是两种最核心的技术方案&a…...

LAV Filters:解码Windows媒体播放困境的开源解决方案

LAV Filters&#xff1a;解码Windows媒体播放困境的开源解决方案 【免费下载链接】LAVFilters LAV Filters - Open-Source DirectShow Media Splitter and Decoders 项目地址: https://gitcode.com/gh_mirrors/la/LAVFilters 如何突破Windows媒体播放的格式壁垒 在2010…...

5分钟精通:phone2qq工具手机号查询QQ号全攻略

5分钟精通&#xff1a;phone2qq工具手机号查询QQ号全攻略 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 在数字化办公与社交日益融合的今天&#xff0c;当你需要登录历史QQ账号却只记得绑定手机号时&#xff0c;如何快速建立数字身…...