日期:2014-05-20  浏览次数:20797 次

Javaee用id怎么实现批量删除
Javaee用id怎么实现批量删除? 谢谢各位了

------解决方案--------------------
DELETE FROM TABLE名 T WHERE T.ID = ''
------解决方案--------------------
Java code
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 code

public boolean delUser(int[] id) {
boolean flag = false;
String sql = "delete from userInfo where userId=?";
conn = base.getConnection();
PreparedStatement pst = null;
try ……

------解决方案--------------------
遍历一个数组也可以是list或者其他集合, 该数组里面有全部的id或者满足条件的id
然后在for循环里面执行delete方法。

------解决方案--------------------
我是来学习的!谢谢!二楼正解!
------解决方案--------------------
如果是用本地SQL要看你的id类型是什么;
int:
DELETE FROM TABLE名 T WHERE T.ID >30;
uuid:
DELETE FROM TABLE名 T WHERE T.ID LIKE '%ID%';
------解决方案--------------------
此方法 很好
探讨
引用:
Java code

public boolean delUser(int[] id) {
boolean flag = false;
String sql = "delete from userInfo where userId=?";
conn = base.getConnection();
PreparedStatement ……

------解决方案--------------------
指的是一个id还是同时多个id
2L的
DELETE FROM TABLE名 T WHERE T.ID = '' ;
可以一试