前面两讲我们介绍了查询和修改操作,现在我们再介绍最后一种操作:删除操作。同样地,session对象提供了delete()方法来帮助我们进行删除操作。
我们还是使用入门案例的环境。详见Hibernate学习-03。
数据库状态:
删除和修改是一样的,也是有两种方式:1、手动创建对象的方式;2、先查询再删除的方式
1、手动创建对象的方式;修改测试类,添加如下所示的测试方法:
@Test
//删除一条记录,手动创建 对象删除
public void demo6(){
Configuration configuration = new Configuration().configure();
SessionFactory sessionFactory = configuration.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Customer customer=new Customer();
customer.setId(2);
session.delete(customer);
tx.commit();
session.close();
sessionFactory.close();
}
运行测试:
第二条记录删除成功。
2、先查询再删除的方式;修改测试类,添加如下所示的测试方法:
@Test
//删除一条记录,先查询,再删除
public void demo7(){
Configuration configuration = new Configuration().configure();
SessionFactory sessionFactory = configuration.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Customer customer=(Customer)session.get(Customer.class, 3);
session.delete(customer);
tx.commit();
session.close();
sessionFactory.close();
}
运行测试: