批量删除 哪个好?

问题描述

方法一:publicstaticvoiddelMany(String[]delid,HibernateDaoSupporthibernateDAO,Classclassname)throwsException{if(delid==null||hibernateDAO==null||classname==null){thrownewException("传值错误");}Sessionsession=hibernateDAO.getSessionFactory().getCurrentSession();session.setFlushMode(FlushMode.AUTO);Transactiontr=session.beginTransaction();try{for(inti=0,n=delid.length;i<n;i++){Objectobj=session.get(classname,delid[i]);if(obj==null){thrownewException("数据库错误");}session.delete(obj);}session.flush();tr.commit();}catch(Exceptione){tr.rollback();e.printStackTrace();thrownewException("删除失败");}finally{session.close();}}方法二:publicstaticvoiddelMany(String[]delid,HibernateDaoSupporthibernateDAO,Classclassname)throwsException{if(delid==null||hibernateDAO==null||classname==null){thrownewException("传值错误");}Sessionsession=hibernateDAO.getSessionFactory().getCurrentSession();session.setFlushMode(FlushMode.AUTO);Transactiontr=session.beginTransaction();try{for(inti=0,n=delid.length;i<n;i++){Objectobj=session.get(classname,delid[i]);if(obj==null){thrownewException("数据库错误");}session.delete(obj);if(i%20==0){[color=#FF0000]//已经配置了hibernate.jdbc.batch_size"值为25session.flush();session.clear();}[/color]}session.flush();tr.commit();}catch(Exceptione){tr.rollback();e.printStackTrace();thrownewException("删除失败");}finally{session.close();}}方法二只比方法一多出蓝色部分的代码到底哪一个使用更方便更高效呢

解决方案

解决方案二:
自己測試一下就知道了!

时间: 2024-09-04 00:34:34

批量删除 哪个好?的相关文章

快速批量删除win7 IE浏览器收藏夹网址技巧

  1.首先打开ie浏览器,然后点击菜单上方的书签也就是收藏夹,然后随意在一个收藏的网页上面鼠标右击选择"属性"选项; 2.在弹出来的属性面板中切换到"常规"选项卡,位置栏中就是收藏夹的所在位置,然后将那个位置复制该路径,然后粘贴到IE地址栏打开即可; 3.打开后该文件夹里面就是ie收藏夹里面的所有网页文件了,选择你想要删除的网页批量删除就可以了.

excel2010批量删除超链接小技巧

  excel2010批量删除超链接小技巧 excel2010 批量取消Excel单元格中超链接的方法非常多,但Excel 2010以前的版本都没有提供直接的方法,在Excel 2010中直接使用功能区或右键菜单中的命令就可以了. 选择所有包含超链接的单元格.无需按Ctrl键逐一选择,只要所选区域包含有超链接的单元格即可.要取消工作表中的所有超链接,按Ctrl+A或单击工作表左上角行标和列标交叉处的全选按钮选择整个工作表.在功能区中选择"开始"选项卡,在"编辑"组中

ASP.NET运用动态构建语句实现高效批量删除

网站中的批量删除很常见,特别是对在gridview中做批量删除.我们一般的做法是循环到勾选的就调用过程直接删除.这样的话个人觉得效率不是很高,如果是上百上千的数据要删除,那就得调用试行上百次.其实我们可以运用动态构建删除语句进行高效批量删除,无论你选多少要删除的数据,只需调用试行一次. 底下写的存储过程删除语句与上图无关,上图是常见的在gridview中做批量删除.使用存储过程: ----------------------------------------------------------

js 全选:js 全选、取消、批量删除

//全选.取消//stype 匹配选择 na 是namefunction Sel(stype,na){for(var i=0; i< document.getElementsByName(na).length;i++){if(stype=='all') document.getElementsByName(na)[i].checked=true;else document.getElementsByName(na)[i].checked=false;}}//批量删除//na 是namefunct

php中批量删除Mysql中相同前缀的数据表的代码

方法一: 复制代码 代码如下: <?php mysql_connect('','',''); mysql_select_db(''); $rs=mysql_query('show tables'); while($arr=mysql_fetch_array($rs)){ $TF=strpos($arr[0],'class_'); if($TF===0){ $FT=mysql_query("drop table $arr[0]"); if($FT){ echo "$arr

PHP批量删除数据的方法

PHP教程:研究批量删除数据的方法. SQL:$SQL="delete from `doing` where id in ('1,2,3,4')"; 数据用逗号隔开. 表单: <form action="?action=doing" method="post"> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]"

使用简单的方法进行批量删除数据

数据 在网上看到一些批量删除数据的例子.但是大部分是用的数组来保存所选的id.这样比较麻烦,也不容易被理解.我就拿个比较简单的方法来实现这个功能.(只看红色的部分即可,而且还加个删除提示窗口) using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;u

asp实现批量删除选中的多条记录

选中 好多网友问起来,·深度学习网址导航·深度学习整站系统的后台管理能否增加批量删除功能,如何加:就是列出N篇文章或网址信息,每篇文章或网址前有一个复选框,页面最底下有一个按钮"删除",多选文章或点击删除,选中的文章或网址实现全部删除...   这个功能实现起来并不是很难,只是一直没静心弄,今天有空将深度学习网址导航的后台"网站管理"增加了批量删除,捎带将整个操作简单记录如下(具体实例可参照深度学习网址导航后台管理): 1.首先在管理页多条对应记录的处,添加form

巧用in关键字实现数据的批量删除

关键字|数据 巧用in关键字实现数据的批量删除原创:小汪仔在WEB编程中经常会碰到数据的批量删除.我们通常的做法是通过循环来实现数据的批量的删除.但是一个程序模块循环用的太多那么这个程序模块的质量就会下降.因此本文就介绍通过巧用in关键字来实现数据的批量删除.让我们通过一个例子来讲解IN关键字的数据批量删除假如我们要删除这个页面的数据:相关代码如下:managenews.asp <!--#include file="conn.asp"--> <%'数据库的连接文件我就

ExtJS与.NET结合开发实例(Grid之批量删除篇)

上接ExtJS与.NET结合开发实例(Grid之数据显示.分页.排序篇),在此基础 上实现批量删除功能. 实现的步骤如下: 1. 用WebService实现 删除的功能(上篇有一园友提出用WebService实现,这里顺便说一下,取数据源 也可以用WebService,大家可以参考删除的WebService自行实现,我这里就不在 累述了) 新建一WebService文件,命名为:DeleteProject.asmx 代 码如下: DeleteProject.asmx.cs 1using Syst