oracle事务处理及实例演示jdbc操作批量删除 2014年8月11日
时间:2022-03-13 22:42
/**删除用户-2014年8月11日18:19:04
* @userId 用户id数组
*/
publicBoolean DeleteUser(String[] userId){
//一个线程安全的可变字符串
StringBuffersb=new StringBuffer();
sb.append("deletefrom t_user where user_id =?");
Connectionconn=null;
PreparedStatementpsmt = null;
Booleanflag=false;
conn=DButil.getConnection();
try {
//关闭自动提交事务
conn.setAutoCommit(false);
//创建一个 PreparedStatement 对象来将参数化的 SQL语句发送到数据库。
psmt= conn.prepareStatement(sb.toString());
//将一组参数添加到此 PreparedStatement 对象的批处理命令中。
for(inti =0 ;i<userId.length;i++){
psmt.setString(1,userId[i].trim());
psmt.addBatch();
}
// 执行批量更新
psmt.executeBatch();
// 语句执行完毕,提交本事务
conn.commit();
flag=true;
}catch (SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
try{
conn.rollback();
}catch (SQLException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
returnflag;
}
总结
总的来说,感觉还是对oracle很多内部的机制了解的有限。前几天的设计模式讲课,也让想到这里的一些东西才有了这篇博客。只能说是非常浅显的认知,oracle在事务这里的处理相比在事务的处理上本质还是一致的。
oracle事务处理及实例演示jdbc操作批量删除 2014年8月11日,布布扣,bubuko.com