当前位置: 代码迷 >> Java Web开发 >> 怎么一次删除多条记录
  详细解决方案

怎么一次删除多条记录

热度:89   发布时间:2016-04-17 12:18:45.0
如何一次删除多条记录?
从一个表select出多条记录,利用Checkbox选中要删除的记录。执行一次Delete可以全部删除吗?

------解决方案--------------------
批量删除 

一个PreparedStatement,可以把一个sql语句,变换参数多次执行,一次更新。
//批量新增、批量修改
PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO Users VALUES(?,?,?)"
);
User[ ] users = ...;
for(int i=0; i<users.length; i++) {//变换参数执行多次
stmt.setInt(1, users[i].getName());
stmt.setInt(2, users[i].getAge());
stmt.setInt(3, users[i].getShape());
stmt.addBatch( );
}
int[ ] counts = stmt.executeBatch(); 
//删除数据
PreparedStatement prepstmt = conn.prepareStatement(
"DELETE FROM Users WHERE USERID=? "
);
User[ ] users = ...;
for(int i=0; i<users.length; i++) {//变换参数执行多次
prepstmt.setInt(1, users[i].getId());
prepstmt.addBatch( );
}
int[ ] counts = prepstmt.executeBatch(); 
prepstmt.close();
conn.close();

------解决方案--------------------
delete from tableName where id in(从数组中得到的数据,之间用“,”隔开,如果是字符串就加上单引号)
  相关解决方案