使用hibeinateTemplate进行批量删除的两种方法
来源:互联网 发布:淘宝达人头像怎么更换 编辑:程序博客网 时间:2024/05/17 00:56
使用spring + hibernate框架中,一般使用hibernateTemplate对数据进行操作,但是使用hibernateTemplate进行批量删除没有hibernate那么方便,经过自己查找资料和尝试,有两种比较常用的方法。(自己也是初学框架,在这里献丑了!)
1.使用hibernateTemplate中的deleteAll方法,具体怎么做看代码吧(只贴核心部分)
Action类
private String[] ids ;
public String batchDelete() throws Exception{
List<News> idlist = new ArrayList<News>() ;
for(String id:ids){
News news = new News() ;
news.setId(Integer.parseInt(id)) ;
idlist.add(news) ;
}
newsDAO.batchDelete(idlist) ;}
public String[] getIds() {
return ids;
}public void setIds(String[] ids) {
this.ids = ids;
}DAOImpl类
public void batchDelete(List<News> idlist) {
hibernateTemplate.deleteAll(idlist) ;
}这种方法进行删除时,每删除一条会发送一条sql语句。
2.使用 HibernateCallback回调函数
Action类
private String ids ;
public String batchDelete() throws Exception{
newsDAO.batchDelete(ids) ;
}public String getIds() {
return ids;
}
public void setIds(String ids) {
this.ids = ids;
}DAOImpl类
public void batchDelete(final String ids) {
ht.execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException, SQLException {
String hql = "delete from News as news where news.id in("+ids+")" ;
Query q = session.createQuery(hql) ;
return q.executeUpdate() ;
}
});
}使用这种就不用将接收的id放在list集合里面,唯一的缺陷就是要回调,本人还是比较推荐第二种。注:在前台页面是使用的checkbox。
- 使用hibeinateTemplate进行批量删除的两种方法
- 批量删除记录的两种方法
- 使用简单的方法进行批量删除数据
- linux 批量删除进程的两种方法
- 使用 hibernate 进行 批量删除
- Word和Excel中批量删除超链接的两种方法
- 使用GridView的删除对话框的两种方法
- Ibatis 批量新增的两种方法
- Oracle批量保存的两种方法
- 使用MyBatis进行批量的更新、删除报错
- 使用.NET进行中文繁简转换的两种方法
- JDBC进行批量更新的两种方式
- 批量删除Features的几种方法
- 批量doc转docx的两种方法--Office Migration Planning Manager使用、插件使用
- 使用angular进行批量删除+跨域
- 两种删除方法
- 批量删除表的方法
- 批量删除.svn的方法
- 段空间管理中的PCTFREE、PCTUSED和FREELISTS
- 公用sqlcommand 函数
- JUC之Atomic
- mysql导入导出
- 构建高效的团队协作工具(三) Confluence安装配置
- 使用hibeinateTemplate进行批量删除的两种方法
- 线段树模板(插入,搜索)
- android云端网游开发设想
- 据说看完这21个故事的人,30岁前都成了亿万富翁。你是下一个吗?
- 通过开机BIOS响铃来判断计算机故障
- threads 1 利用变量同步
- 按照listview 的列数来导入数据
- struts2 .hibernate一起用出现的问题
- 判断输入的字符是否为数字