Hibernate的操作
注意:HQL是没有插入语法的,原因插入数据不需条件判断,所以Hibernate就没有实现HQL插入的语法。
- 所以HQL操作数据库的语法是更新和删除
使用HQL更新和删除数据,可以不依赖OID。可以实现通过其它的属性操作。
//删除,通过客户名字删除
@Test
public void delete(){
//1.获得操作对象
Session session = HibernateUtils.getSession();
//2.Hibernate操作(增删改)都要启动事务
Transaction transaction = session.beginTransaction();
Query query = session.createQuery("delete from Customer c where c.custName like ?");
query.setString(0, "%京东%");
//操作
int count = query.executeUpdate();
System.out.println(count);
transaction.commit();
session.close();
}
//更新一个字段,需求,更新,客户名为百度的客户,的来源为:互联网
@Test
public void update(){
//1.获得操作对象
Session session = HibernateUtils.getSession();
//2.Hibernate操作(增删改)都要启动事务
Transaction transaction = session.beginTransaction();
Query query = session.createQuery("update Customer c set c.custSource= :custSource where c.custName = :custName");
query.setString("custSource", "互联网");
query.setString("custName", "百度");
int count = query.executeUpdate();
System.out.println(count);
transaction.commit();
session.close();
}