我的hibernate学习日志(2):构建单态模式的Session

构建单态模式的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
	               }
	         }
			
		}

查找结果如图所示:

扫描二维码关注公众号,回复: 872318 查看本文章


删除:

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
	               }
	         }
			
		}

删除结果如图所示:


其上所有方法都在另一类中进行调用:




猜你喜欢

转载自blog.csdn.net/qq_39758738/article/details/80299767
今日推荐