Hibernate3操作数据库有三种方式:1、使用Hibernate3的操作数据库,2、使用SQL操作数据库,3、使用HQL操作数据库。以下演示使用三种方式进行数据库数据删除
1、使用Hibernate删除数据
public void deleteHibernate() {
// 1、获取Session,org.hibernate.Session
Session session = HibernateSessionFactory.getSession();
// 2、获取事务,org.hibernate.Transaction
Transaction transaction =session.getTransaction();
// 3、开启事务
transaction.begin();
// 4、查询出需要删除的数据
Test test = (Test) session.get(Test.class, 1);
// 5、从数据库中删除数据
session.delete(test);
// 6、提交事务
transaction.commit();
// 7、关闭session
session.close();
}
2、使用SQL语句删除数据
public void deleteSQL(){
// 1、获取Session,org.hibernate.Session
Session session=HibernateSessionFactory.getSession();
// 2、获取事务,org.hibernate.Transaction
Transaction transaction=session.getTransaction();
// 3、开启事务
transaction.begin();
// 4、声明SQL语句
String sql="delete from test whereid=?";
// 5、根据sql创建SQLQuery
SQLQuery sqlQuery=session.createSQLQuery(sql).addEntity(Test.class);
// 6、设置参数的值 ,参数索引从0开始
sqlQuery.setInteger(0,1);;
// 7、执行删除 ,获取受影响的行数
int r= sqlQuery.executeUpdate();
// 8、提交事务
transaction.commit();
// 9、关闭session
session.close();
}
3、使用HQL删除数据
public void deleteHQL(){
// 1、获取Session,org.hibernate.Session
Session session=HibernateSessionFactory.getSession();
// 2、获取事务,org.hibernate.Transaction
Transaction transaction=session.getTransaction();
// 3、开启事务
transaction.begin();
// 4、声明SQL语句
String hql="delete test where id=?";
// 5、更加hql建query
Query query=session.createQuery(hql);
// 6、设置参数的值,参数索引从0开始
query.setInteger(0,1);
// 7、执行删除 ,获取受影响的行数
int r= query.executeUpdate();
// 8、提交事务
transaction.commit();
// 9、关闭session
session.close();
}