构建单态模式的SessionFacory:建立新包将原有SessionFactory导入,在其他类中引用
对测试类进行增删改查操作:
增加:
public static void Add() { Session session = HibernateUtils.getSession(); Transaction tx = null;{ try{ tx = session.beginTransaction();// 4、开始一个事务 // 5、持久化操作 customer c = new customer(); c.setName("zhangsan"); c.setAge(21); c.setSex("male"); session.save(c); tx.commit();// 6、 提交事务 }catch(Exception e){ if (null!=tx){tx.rollback();} e.printStackTrace(); }finally{ session.close();// 7、关闭Session } } }
增加结果如图所示:
修改:
public static void Edit() { Session session = HibernateUtils.getSession(); Transaction tx = null;{ try{ tx = session.beginTransaction();// 4、开始一个事务 // 5、持久化操作 customer c = (customer)session.get(customer.class,new Integer(5)); c.setName("dabiaoge"); c.setAge(50); c.setSex("nan"); session.save(c); tx.commit();// 6、 提交事务 }catch(Exception e){ if (null!=tx){tx.rollback();} e.printStackTrace(); }finally{ session.close();// 7、关闭Session } } }
修改结果如图所示:
查找:
public static void FindId() { Session session = HibernateUtils.getSession(); Transaction tx = null;{ try{ tx = session.beginTransaction();// 4、开始一个事务 // 5、持久化操作 customer c = (customer)session.get(customer.class,new Integer(3)); System.out.println("姓名:"+c.getName()); System.out.println("年龄:"+c.getAge()); System.out.println("性别:"+c.getSex()); tx.commit();// 6、 提交事务 }catch(Exception e){ if (null!=tx){tx.rollback();} e.printStackTrace(); }finally{ session.close();// 7、关闭Session } } }
查找结果如图所示:
删除:
public static void Delete() { Session session = HibernateUtils.getSession(); Transaction tx = null;{ try{ tx = session.beginTransaction();// 4、开始一个事务 // 5、持久化操作 customer c = (customer)session.get(customer.class,new Integer(5)); session.delete(c); tx.commit();// 6、 提交事务 }catch(Exception e){ if (null!=tx){tx.rollback();} e.printStackTrace(); }finally{ session.close();// 7、关闭Session } } }
删除结果如图所示:
其上所有方法都在另一类中进行调用: