执行Batch批处理遇到的问题
1.务必关掉自动提交
增强执行效率
- conn.setAutoCommit(false);
2.executeBatch失效问题
<1>务必将语句pstmt = conn.prepareStatement(sql);放到循环体外,否则只能插入一条语句
- <pre name="code" class="java"> int size = ipAdressList.size();
- try {
- conn = JdbcUtil.getConnection();
- conn.setAutoCommit(false);
- pstmt = conn.prepareStatement(sql);
- for (int i = 0; i < size; i++) {
- // pstmt = conn.prepareStatement(sql);只能插入最后一条
- ipAd = ipAdressList.get(i);
- int index = 1;
- pstmt.setObject(index++, ipAd.getadress());
- pstmt.setObject(index++, ipAd.getPort());
- pstmt.setObject(index++, ipAd.getSpeed());
- pstmt.setObject(index++, ipAd.getCountry());
- pstmt.setObject(index++, ipAd.getProvince());
- pstmt.setObject(index++, ipAd.getCity());
- pstmt.setObject(index++, ipAd.getIsp());
- pstmt.setObject(index++, ipAd.isDomestic());
- pstmt.setObject(index++, ipAd.isAlive());
- pstmt.addBatch();
- }
- pstmt.executeBatch();
- conn.commit();
- } catch (Exception e) {
- e.printStackTrace();
- }finally {
- JdbcUtil.close(rs, stmt, pstmt, conn);
- }</pre><br><br>
<2>务必最后提交
- conn.commit();
执行Batch批处理遇到的问题的更多相关文章
- Spring Batch 批处理框架
<Spring Batch 批处理框架>基本信息作者: 刘相 出版社:电子工业出版社ISBN:9787121252419上架时间:2015-1-24出版日期:2015 年2月开本:16开页 ...
- 图书简介:Spring Batch批处理框架
大数据时代批处理利器,国内首度原创解析Spring Batch框架. 内容简介: <Spring Batch 批处理框架>全面.系统地介绍了批处理框架Spring Batch,通过详尽的实 ...
- spring batch批处理框架学习
内如主要来自以下链接: http://www.importnew.com/26177.html http://www.infoq.com/cn/articles/analysis-of-large-d ...
- Spring Batch 批处理框架介绍
前言 在大型的企业应用中,或多或少都会存在大量的任务需要处理,如邮件批量通知所有将要过期的会员,日终更新订单信息等.而在批量处理任务的过程中,又需要注意很多细节,如任务异常.性能瓶颈等等.那么,使用一 ...
- Spring Batch 批处理原则与建议
Spring Batch 批处理原则与建议 当我们构建一个批处理的过程时,必须注意以下原则: 通常情况下,批处理的过程对系统和架构的设计要够要求比较高,因此尽可能的使用通用架构来处理批量数据处理,降低 ...
- [源码解析] PyTorch 分布式(16) --- 使用异步执行实现批处理 RPC
[源码解析] PyTorch 分布式(16) --- 使用异步执行实现批处理 RPC 目录 [源码解析] PyTorch 分布式(16) --- 使用异步执行实现批处理 RPC 0x00 摘要 0x0 ...
- 批处理(Batch)---批处理脚本。
批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中.批处理文件的扩展名为bat .目前比较常见的批 ...
- 跑批 - Spring Batch 批处理使用记录
根据spring官网文档提供的spring batch的demo进行小的测验 启动类与原springboot启动类无异 package com.example.batchprocessing; imp ...
- 配置 Spring Batch 批处理失败重试机制
1. 引言 默认情况下,Spring批处理作业在执行过程中出现任何错误都会失败.然而有些时候,为了提高应用程序的弹性,我们就需要处理这类间歇性的故障. 在这篇短文中,我们就来一起探讨 如何在Sprin ...
随机推荐
- openssl创建自己的CA certificate
Create a Certificate Authority private key (this is your most important key): $ openssl req -new -ne ...
- C#连接SQL数据库代码
感觉很有必要总结一下 一:C# 连接SQL数据库 Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername; ...
- Linux入门基础教程之Linux系统简介
Linux的历史: Multics项目开发不顺利,贝尔实验室退出该项目后,开发了Unix,商业化后价格昂贵.Dennis Ritchie和Ken Thompson开发了Unix内核以及C语言.Andr ...
- MAC算法
MAC算法 (Message Authentication Codes) 带秘密密钥的Hash函数:消息的散列值由只有通信双方知道的秘密密钥K来控制.此时Hash值称作MAC. 原理:在md与sha系 ...
- 【Dynamic Programming】DP算法
http://www.hawstein.com/posts/dp-novice-to-advanced.html
- js替换数组中的一个对象用for循环遍历
for(let i=0;i<statusList.length;i++){ if (statusList[i]['tableId'] === tableId) { statusList[i]=d ...
- mysql压缩版的安装教程
1. 首先创建 my.ini,在mysql解压目录下的bin文件夹中新建一个名为 my.ini 的文件,内容为 [client] port=3306 default-character-set ...
- Docker技术原理
Docker技术原理之Linux Namespace(容器隔离) https://blog.csdn.net/songcf_faith/article/details/82748987 Docker技 ...
- SQL SERVER发布与订阅
一.配置分发 1.配置分发服务器,注:配置发布与订阅,连接SQLSERVER必须用服务器名登录 2.配置分发 3.选择分发服务器 4.选择快照文件夹 5.设置此文件夹的读写权限为everyone 6. ...
- spring mvc处理方法返回方式
Model: package org.springframework.ui; import java.util.Collection; import java.util.Map; public int ...