本文目錄一覽:
JAVA批量刪除問題
public boolean delUser(int[] id) {
boolean flag = false;
String sql = “delete from userInfo where userId=?”;
conn = base.getConnection();
PreparedStatement pst = null;
try {
pst = conn.prepareStatement(sql);
for (int i = 0; i id.length; i++) {
pst.setInt(1, id[i]);
// 使用批處理
pst.addBatch();
}
// 執行批處理
int[] result = pst.executeBatch();
if (result[0] 0) {
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
base.free(conn, pst, null);
} catch (SQLException e) {
e.printStackTrace();
}
}
return flag;
}
只能這樣來進行批量刪除 好好的看一下
Java中怎樣實現批量刪除操作
直接 delete from xxx where id in (a,b,c…)
樓上說的循環可以實現,但是最好不要把DML操作寫在循環裡面 會影響效率。最好是跟資料庫一次交互 直接完成。
java for循環生成的對象,如何批量刪除?
從你給的代碼中可以看出,五次循環中,new出的對象都是賦值給了mod這個變數,結束循環,mod的值就是最後一次new出的對象,你通過mod自然只能刪除最後一個new出的對象,不管你調用mod.remove()多少次。
想要全部刪除,這就要看你是否有對「5次循環中前4次生成的那些對象」的引用,比如放在了一個數組或者容器中,如果有,就可以遍曆數組或者容器來刪除,否則你無法刪除,因為你都沒有對它們的引用。
如果還需幫助,你可以把全部的代碼粘貼出來看看~
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283711.html