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

做网站被坑能找司法吗排名推广网站

做网站被坑能找司法吗,排名推广网站,淅川网站建设,威海网络推广公司文章目录 Excel 5s内导入20w条数据1. 生成20w条数据1.1 使用Excel 宏生成20w条数据1.2 生成成功 2. ExecutorType#xff1a;批量操作执行器类型2.1 ExecutorType.SIMPLE2.2 ExecutorType.BATCH2.3 ExecutorType.REUSE 3. 20w条数据直接插入数据库3.1 使用ExecutorType.SIMPLE… 文章目录 Excel 5s内导入20w条数据1. 生成20w条数据1.1 使用Excel 宏生成20w条数据1.2 生成成功 2. ExecutorType批量操作执行器类型2.1 ExecutorType.SIMPLE2.2 ExecutorType.BATCH2.3 ExecutorType.REUSE 3. 20w条数据直接插入数据库3.1 使用ExecutorType.SIMPLE3.2 使用ExecutorType.BATCH3.3 ExecutorType.REUSE 3.半 拓展4. 总结5. 多线程版本 Excel 5s内导入20w条数据 1. 生成20w条数据 1.1 使用Excel 宏生成20w条数据 打开Excel按下AltF11打开VBA编辑器。 在VBA编辑器中选择插入 - 模块然后将以下代码粘贴到模块中 Sub GenerateData()Dim i As LongFor i 1 To 200000Cells(i, 1).Value i 插入IDCells(i, 2).Value 张三 i 插入姓名可以根据需要自定义命名规则Cells(i, 3).Value Int((50 - 20 1) * Rnd 20) 插入随机年龄示例为20-50之间的随机数Next i End Sub 按下F5执行宏即可生成20万条数据。 1.2 生成成功 因为数据量较大所以需要稍微等上一小段时间 2. ExecutorType批量操作执行器类型 在MyBatis中ExecutorType是一种枚举类型用于指定SQL语句执行的方式。其中ExecutorType.BATCH和ExecutorType.SIMPLE是两种常见的执行方式。 2.1 ExecutorType.SIMPLE ExecutorType.SIMPLE是MyBatis框架中的一种执行器类型用于执行SQL语句并返回结果集。在这种执行器类型下每个SQL语句的执行请求都将打开一个新的数据库连接执行完毕后立即释放连接适用于小型应用或轻负载的情况。 特点 ExecutorType.SIMPLE是默认的执行方式。每次执行SQL语句时都会打开一个新的PreparedStatement对象。每条SQL语句都会立即被执行并提交到数据库。每个SQL语句的执行请求都将打开一个新的数据库连接执行完毕后立即释放连接适用于常规的单个或少量SQL操作。 2.2 ExecutorType.BATCH ExecutorType.BATCH会将一批SQL语句集中在一起批量执行减少了与数据库的交互次数提高性能。多条SQL语句会一起提交到数据库执行可以提升执行效率。可以通过sqlSessionFactory.openSession(ExecutorType.BATCH)方法手动触发批量执行。适用于需要执行大量SQL操作的场景如批量插入、更新或删除多条记录。 2.3 ExecutorType.REUSE 当多次调用相同的SQL语句时会重用已编译的SQL语句和执行计划。适用于单条SQL语句的重复执行例如在一个循环中多次执行相同的SQL语句。每次执行都会创建一个新的Statement对象但会重用已编译的SQL语句和执行计划以提高执行效率。 3. 20w条数据直接插入数据库 dao 层 的代码 Insert(insert into excel(id,name,age) values (#{id},#{name},#{age})) void insert(Man man);3.1 使用ExecutorType.SIMPLE public void insert1() {//用于记录读取数据所需要的时间long start0 System.currentTimeMillis();//ExcelUtil hutool工具类用来读取Excel文件ExcelReader reader ExcelUtil.getReader(FileUtil.file(C:\\Users\\26896\\Desktop\\test.xlsx), sheet1);//将读取到的 reader 转化为 ListMan集合ListMan mans reader.readAll(Man.class);//读取数据的结束时间同时也是写入数据库的开始时间long start System.currentTimeMillis();//sqlSessionFactory是通过ioc容器注入的 设置其SqlSession的执行器格式ExecutorType.SIMPLE默认SqlSession sqlSession sqlSessionFactory.openSession(ExecutorType.SIMPLE);ExcelDao mapper sqlSession.getMapper(ExcelDao.class);//循环将ListMan中的数据插入数据库for (Man man : mans) {mapper.insert(man);}sqlSession.commit();long end System.currentTimeMillis();sqlSession.close();System.out.println(最终的结果为 (start - start0) );System.out.println(最终的结果为 (end - start) );}执行结果 3.2 使用ExecutorType.BATCH rewriteBatchedStatementstrue 当该参数设置为true时MySQL会对批量操作进行重写将多个SQL语句合并成一条批量执行的SQL语句。这样可以减少网络传输和数据库连接的开销从而提高批量操作的效率。 public String insert2() {long start0 System.currentTimeMillis();ExcelReader reader ExcelUtil.getReader(FileUtil.file(C:\\Users\\26896\\Desktop\\test.xlsx), sheet1);ListMan mans reader.readAll(Man.class);long start System.currentTimeMillis();SqlSession sqlSession sqlSessionFactory.openSession(ExecutorType.BATCH);ExcelDao mapper sqlSession.getMapper(ExcelDao.class);for (Man man : mans) {mapper.insert(man);}sqlSession.commit();long end System.currentTimeMillis();sqlSession.close();System.out.println(读取最终的结果为 (start - start0) );System.out.println(插入数据库最终的结果为 (end - start) );return null;}执行结果 3.3 ExecutorType.REUSE ExecutorType.REUSE 本身不做验证这里主要比较其它两个区别但是都到这里啦就写上 public void insert3() {long start0 System.currentTimeMillis();ExcelReader reader ExcelUtil.getReader(FileUtil.file(C:\\Users\\26896\\Desktop\\test.xlsx), sheet1);ListMan mans reader.readAll(Man.class);long start System.currentTimeMillis();SqlSession sqlSession sqlSessionFactory.openSession(ExecutorType.REUSE);ExcelDao mapper sqlSession.getMapper(ExcelDao.class);for (Man man : mans) {mapper.insert(man);}sqlSession.commit();long end System.currentTimeMillis();sqlSession.close();System.out.println(读取最终的结果为 (start - start0) );System.out.println(插入数据库最终的结果为 (end - start) );}3.半 拓展 吃瓜观众 歌歌 呀既然ExecutorType.SIMPLE适合执行一个语句那就用MyBatis 的,将20w条数据拼接为1条。这样是不是就快了 歌歌非常好 xml代码 insert idaddinsert into excel(id,name,age) valuesforeach collectionlist itemman separator,(#{man.id},#{man.name},#{man.age})/foreach/insertservice代码 AutowiredExcelDao excelDao;public String add2() {long start0 System.currentTimeMillis();ExcelReader reader ExcelUtil.getReader(FileUtil.file(C:\\Users\\26896\\Desktop\\test.xlsx), sheet1);ListMan mans reader.readAll(Man.class);long start System.currentTimeMillis();excelDao.add(mans);long end System.currentTimeMillis();System.out.println(最终的结果为 (start - start0) );System.out.println(最终的结果为 (end - start) );return null;}4. 总结 在需要将大量数据通过java程序放入数据库时 可以通过sqlSessionFactory.openSession(ExecutorType.BATCH)方法手动触发批量执行。并且可以通过在链接数据库的时候加上rewriteBatchedStatementstrue来开始数据库的批处理操作 5. 多线程版本 点个关注不迷路 个人主页 个人主页
http://www.w-s-a.com/news/350033/

相关文章:

  • 软文网站推广法dede5.7内核qq个性门户网站源码
  • 个人备案网站名称校园网站建设特色
  • vr超市门户网站建设班级网站怎么做ppt模板
  • 网站建设一般是用哪个软件刚开始做写手上什么网站
  • 用jsp做的网站源代码下载有哪些做红色旅游景点的网站
  • 网站开发的技术选型黄石市网站建设
  • 做直播网站需要证书吗专做宝宝的用品网站
  • 网站标题用什么符号网站制作交易流程
  • dede模板网站教程jsp网站搭建
  • 上海网站开发外包公司鲜花导购网页制作
  • 宿州外贸网站建设公司个人注册网站一般做什么
  • 小公司做网站用哪种服务器什么是网站代理
  • 青岛李村网站设计公司cms建站平台
  • 做saas网站可行吗许昌抖音推广公司
  • 网站建设找谁做seo基础知识培训
  • 微网站怎么做的好建设网站不会写代码
  • 广州外贸网站制作wordpress信息搜索插件
  • 福建高端网站建设个人公众号怎么制作教程
  • 企业网站有哪些举几个例子wordpress ie兼容插件
  • 高端的深圳网站页面设计福清市建设局官方网站
  • 安装网站到服务器合肥建设干部学校网站
  • 影视网站如何做销售案例网站
  • 建设网站对比方案龙岗网站开发公司
  • 网站开发标准网站建设公司兴田德润可信赖
  • 如何建设一个公众号电影网站自动seo优化
  • 个人网站能备案吗酱香拿铁采取了哪些网络营销方式
  • 网站建设及推广好做吗自己做的网站加入购物车价格
  • 涡阳在北京做网站的名人注册一个免费的网站
  • 三门峡建设环境局网站公司注册网上核名通道
  • 叶县建设局网站要看网海外域名是多少