本文目录一览:
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次生成的那些对象」的引用,比如放在了一个数组或者容器中,如果有,就可以遍历数组或者容器来删除,否则你无法删除,因为你都没有对它们的引用。
如果还需帮助,你可以把全部的代码粘贴出来看看~