一、抽取HibernateUtil工具类
public class HibernateUtil{
private static Configurationcfg = null;private static SessionFactoryfactory = null;
//只需要执行1次static{
cfg = newConfiguration();cfg.configure();factory =cfg.buildSessionFactory();
}
public static SessiongetSession(){
returnfactory.openSession();
}
}
二、代码使用工具类获取Session
public class Demo{
@Test
public voidtest1(){
Customer customer = newCustomer();customer.setName("老王2");customer.setAge(40);customer.setGender("男");customer.setLevel("VIP客户");
//从工具类获取Session对象Session session =HibernateUtil.getSession();Transaction tx =session.beginTransaction();session.save(customer);tx.commit();session.close();}
}
三、HibernateCRUD操作
1、save(obj)
2、elete(obj)
3、get(Class,id)
4、update(obj)
5、saveOrUpdate(obj) 保存或者修改(如果没有数据,保存数据。如果有,修改数据)
6、createQuery() HQL语句的查询的方式
public class Demo{
/ /
save(Objectobj) : 保存对象
@Testpublic voidtest1(){Customer customer = newCustomer();customer.setName("老王3");customer.setAge(40);customer.setGender("男");customer.setLevel("VIP客户");Session session =HibernateUtil.getSession();//开启事务Transaction tx =session.beginTransaction();//执行操作session.save(customer);//提交事务tx.commit();//关闭session.close();}
/ / update(Objectobj): 更新对象@Testpublic voidtest2(){Customer customer = newCustomer();//给Customer的id赋值,才可以更新customer.setId(6);customer.setName("老王44444");customer.setAge(45);customer.setGender("男");customer.setLevel("VIP客户");Session session =HibernateUtil.getSession();//开启事务Transaction tx =session.beginTransaction();//执行操作session.update(customer);//提交事务tx.commit();//关闭session.close();}
/ / saveOrUpdate(Objectobj): 添加或修改对象@Testpublic voidtest3(){Customer customer = newCustomer();//给Customer的id赋值,才可以更新customer.setId(6);customer.setName("老王666");customer.setAge(45);customer.setGender("男");customer.setLevel("VIP客户");Session session =HibernateUtil.getSession();//开启事务Transaction tx =session.beginTransaction();//执行添加操作session.saveOrUpdate(customer);//提交事务tx.commit();//关闭session.close();}
/ / delete(Objectobj): 删除对象@Testpublic voidtest4(){Session session =HibernateUtil.getSession();//开启事务Transaction tx =session.beginTransaction();//执行操作Customer customer = newCustomer();customer.setId(7);session.delete(customer);//提交事务tx.commit();//关闭session.close();}
// get(Classclz,Serialize id): 获取对象// load(Classclz,Serialize id): 获取对象@Testpublic voidtest5(){Session session =HibernateUtil.getSession();//开启事务Transaction tx =session.beginTransaction();//执行操作//Customer cust =session.get(Customer.class, 6);Customer cust =session.load(Customer.class, 6);System.out.println(cust);//提交事务tx.commit();//关闭session.close();}}