社区
Java EE
帖子详情
批删除
励志成为一名架构师
2012-08-05 11:52:44
Action获取了jsp传过来的一组checkbox,checkbox的值是id,可以用hibernate中的deleteall()根据id进行批删除吗?
...全文
102
3
打赏
收藏
批删除
Action获取了jsp传过来的一组checkbox,checkbox的值是id,可以用hibernate中的deleteall()根据id进行批删除吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flash8627
2012-08-05
打赏
举报
回复
/**
* 删除多条 记录
*
* @param entityClass
* @param att
* @param val
*/
public void attrDeletes(Class<T> entityClass, Object att, Object... val) {
StringBuilder sb = new StringBuilder();
sb.append("DELETE FROM ");
sb.append(entityClass.getSimpleName());
sb.append(" WHERE ");
sb.append(att.toString());
sb.append(" in (:val)");
// String hql = "DELETE FROM Article WHERE aid in (:ids)";
Query q = this.getSession().createQuery(sb.toString());
sb.delete(0, sb.length());
q.setParameterList("val", val).executeUpdate();
}
/**
* 批量删除 ? 待续
*
* @param list
*/
public void deleteBulk(List<T> list) {
int i = 1000;
for (T e : list) {
i++;
this.deleteObject(e);
if (i % 20 == 0) {
// 将本批数据插入数据库,并释放内存
this.flush();
this.clear();
}
if (i % 1000 == 0) {
try {
this.commit();
} catch (HibernateException e1) {
e1.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
}
}
/**
*
*/
public void deletes(Class<T> entityClass, String idArr) {
String[] ids = idArr.split(",");
Long[] ls = new Long[ids.length];
String hql = "DELETE FROM " + entityClass.getSimpleName();
hql += " WHERE "
+ HibernateConfigurationHelper.getPrimaryKeyName(entityClass);
hql += " in (:ids)";
Query q = getSession().createQuery(hql);
for (int i = 0; i < ids.length; i++) {
logger.debug(ids[i]);
ls[i] = Long.parseLong(ids[i]);
}
都是的,随便用
励志成为一名架构师
2012-08-05
打赏
举报
回复
你们说的都很对,我自己是用For循环做的,但是我想知道hibernate自带的this.getHibernateTemplate().deleteAll(entities);怎么用?能不能根据ID删除多条记录?
Teln_小凯
2012-08-05
打赏
举报
回复
批删除很简单,你用ck获取的值,比如说ID,结果为params=1,3,5,6,8
然后你在删除方法sql=delete text where id in (params);
这样就好了
项目搭建+
删除
(单/
批
)
该博客主要介绍列表页面
删除
功能的实现。包括在列表页面添加
删除
按钮,为单删和
批
删绑定 JS 事件,如单删需判断、弹出确认框并使用 ajax,
批
删要定义数组处理选中复选框等。还阐述了
删除
的 Controller、service 层和 dao 层的处理逻辑,单删和
批
删可共用部分代码。
CoreData
批
删除
(Batch Delete)陷阱的识别与逃脱(Could not merge changes错误等)
本文介绍CoreData
批
删除
操作,
批
删除
直接从持久存储删数据,跳过托管对象上下文,比普通
删除
快,但会产生陷阱。
批
删除
后保存可能出现Could not merge changes错误,原因是托管上下文对象不能同步刷新。还介绍了更新托管对象上下文的方法,以及
批
删除
含关系托管对象的陷阱及解决办法。
Scott Mitchell 的ASP.NET 2.0数据教程之65:
批
删除
数据
本文介绍如何在ASP.NET中创建
批
删除
界面,利用GridView控件实现多条记录的同时
删除
,确保事务一致性。
运用js实现
批
删除
功能
本文详细介绍了如何使用JavaScript实现多选框的
批
量操作功能,包括全选、反选和
删除
操作,以及相应的PHP后端实现,提供了一个
批
删除
数据的方法。
Java EE
67,535
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章