ssh 删除表内全部信息

2024-11-17 12:44:42
推荐回答(2个)
回答(1):

sql:清空所有数据:Truncate Table stu或者Delete stu

Hibernate:用Query删除Session session=HibernateSessionFactory.getSession(); String hql="delete People where id=:id"; Transaction t=null; try { t=session.beginTransaction(); Query q=session.createQuery(hql); q.setParameter("id", id); q.executeUpdate(); t.commit(); }catch(Exception ex) { if(t!=null) { t.rollback(); } }finally { session.close(); }直接用SessionPeople p=null; Session session=HibernateSessionFactory.getSession(); p=(People)session.get(People.class, id); if(p!=null) session.delete(people);//都要用事务否则不删除

回答(2):

我想到的一种方法
这个类首先继承HibernateDaoSupport(spring提供)
然后写一个函数deleteAll() {
Criteria c1= this.getHibernateTemplate().getSessionFactory().getCurrentSession().createCriteria(clazz);//clazz类名
List<类名> l1=c1.list();
for(int i=0;i int id= l1.get(i);
Object obj = getHibernateTemplate().load(clazz, id); getHibernateTemplate().delete(obj);
}//循环删除
}
没测试过,你试试吧
1楼用hql也可以,你还可以用JdbcTemplate