在用jdbc对oracle数据库执行批量提交数据操作时,我们会采用batch的方式进行批量提交
batch ,如果需要批量更新100条,如果在第31条处出现了异常,那么之后的数据就不会更新了,如果加上事务管理,那么只要有出错了,所有的batch执行的都会回滚
private synchronized void execData() throws Exception{
if(data.size()==0){
return ;
}
PreparedStatement pstmt = null;
try {
conn.setAutoCommit(false);
Enumeration en=data.keys();
while (en.hasMoreElements()) {
Integer i=(Integer)en.nextElement();
pstmt = conn.prepareStatement((String)data.get(i));
pstmt.addBatch();
dv.add(i);
}
pstmt.executeBatch();
conn.commit();
} catch (BatchUpdateException e) {//batch异常时需要单条处理,并且需要回滚之前的操作
e.printStackTrace(System.out);
try {
conn.rollback();
} catch (Exception exception) {
// TODO: handle exception
exception.printStackTrace();
}
singleExec();
return;
}catch (Exception e) {//其他异常
e.printStackTrace(System.out);
dv.clear();
return;
}finally {//关闭资源
try {
pstmt.close();
} catch (Exception e) {
e.printStackTrace(System.out);
}
try {
conn.close();
} catch (Exception e) {
// TODO: handle exception
throw new Exception("操作出现异常") ;
}
}
try{
Enumeration en=dv.elements();
while (en.hasMoreElements()) {
Integer i=(Integer)en.nextElement();
data.remove(i);
}
dv.clear();
}catch (Exception e) {
e.printStackTrace(System.out);
}
}
分享到:
相关推荐
1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得...
1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得...
1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得...
1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得SessionFactory 3.3...
1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得...
2.4. 总结 3. 体系结构(Architecture) 3.1. 概况(Overview) 3.2. 实例状态 3.3. JMX整合 3.4. 对JCA的支持 4. 配置 4.1. 可编程的配置方式 4.2. 获得SessionFactory 4.3. JDBC连接 4.4. 可选的配置...
1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得...
1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得SessionFactory 3.3...
总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得SessionFactory ...
总结 3. 体系结构(Architecture) 3.1. 概况(Overview) 3.2. 实例状态 3.3. JMX整合 3.4. 对JCA的支持 4. 配置 4.1. 可编程的配置方式 4.2. 获得SessionFactory 4.3. JDBC连接 4.4. 可选的配置属性 ...
2.4. 总结 3. 体系结构(Architecture) 3.1. 概况(Overview) 3.2. 实例状态 3.3. JMX整合 3.4. 对JCA的支持 4. 配置 4.1. 可编程的配置方式 4.2. 获得SessionFactory 4.3. JDBC连接 4.4. 可选的配置属性 ...