1. 程式人生 > >Java實現oracle資料批量操作

Java實現oracle資料批量操作

java事務處理

TestDemo:結合位於java.sql下面的介面 PreparedStatement和oracle事務實現批量刪除

常用方法:

int [] executeBatch():

將一批命令提交給資料庫來執行,如果全部命令執行成功,則返回更新計陣列成的陣列。

void setString(int parameterIndex,String x):

將指定引數設定為給定Java String 值。在將此值傳送給資料庫時,驅動程式將它轉換成一個 SQL VARCHAR 或 LONGVARCHAR 值。

Demo

public Boolean 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;
}