jsp的DAO模式中批量删除代码怎么写?急
发布网友
发布时间:2022-04-30 19:48
我来回答
共4个回答
热心网友
时间:2022-06-30 06:31
首先将要指删除的信息查询出来封闭在一个List中(也可以只封闭主键,这样最好操作)
然后遍历这个list,逐一删除
最后总体提交事务
如:
//获得数据库连接conn,设置不自动提交事务
conn.setAutoCommit(false);
try{
//将查询到的list
for(int i=0;i<list.size;i++){
//Class为你刚封的删除的类的信息
Class c = (Class)list.get(i);
//省略获得数据库接连和数据集等的初始化,如果不会再追问
Connection conn= ds.getConnection();
Statement stmt = conn.createStatement();
stmt.executeUpdate("delete table where tabale.id='"+c.getId()+"' ");
}
//提交所有的事务
conn.commit();
conn.setAutoCommit(true);
}catch (Exception e) {
//有异常,数据回滚,同时设置自动提交事务
conn.rollback();
conn.setAutoCommit(true);
}finally{
//关闭相关的连接
}
不知道这样,你是不是能看明白。
热心网友
时间:2022-06-30 06:31
List<User> list = this.getUserDAO().selUsers();
for(int i=0;list!=null&&i<list.size();i++){
boolean result = this.getUserDAO().delUserById(list.get(i).getUserId());
if(!result){
break;
}
}追问这是我用事物处理做的,但是出错了,好像是请求转发页面的问题,请问在哪儿错了,我是用EXTJS+jsp+MVC模式做的 谢谢
热心网友
时间:2022-06-30 06:32
public int deleteUsersByIds(String[] ids){
String sql = "delete from user where id=?";
PreStatement pre = contion.preXXXXXXX();//忘记具体单词了
for(int i=0;i<ids.length;i++){
pre.excuteUpdate();
pre.addBatch();
}
}
热心网友
时间:2022-06-30 06:32
ction f_delete()
{
if(confirm('是否删除?'))
{
//点‘是’后要做的事情,比如条到处理删除的页面:
response.sendRedirect("delete.jsp");
}
else
{
//这个else可以不用的 但是最好养成把代码写完整的习惯
}
}