Hibernate-01 框架第一天 (session常用方法)

package test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import domain.Customer;
import utils.HibernateUtils;
/**
 * 测试session常用的方法
 * @author Administrator
 *
 */
public class Test {
	
	
	
	/*
	 * 		还没学!!!!!!!!!!!
	 *     * createQuery()                    
	 *     -- HQL语句的查询的方式
	 * 
	 */
	
	
	/*
	 * 保存或者修改(如果没有数据,保存数据。如果有,修改数据)
	 */
	@org.junit.Test
	public void saveOrUpdateTest() {
		Session session = HibernateUtils.getSession();
		Transaction tr = session.beginTransaction();
		//先查询出给客户
		Customer c = new Customer();
		//这里测试没有的情况下添加客户
		c.setCust_name("saveOrUpdateTest-update");

		session.saveOrUpdate(c);
		
		tr.commit();
		session.close();
		
	}
	
	
	
	@org.junit.Test
	public void updateTest() {
		Session session = HibernateUtils.getSession();
		Transaction tr = session.beginTransaction();
		//先查询出给客户
		Customer c = session.get(Customer.class, 100L);
		c.setCust_name("updated_alex");

		session.update(c);
		
		tr.commit();
		session.close();
		
	}
	
	
	@org.junit.Test
	public void delTest() {
		Session session = HibernateUtils.getSession();
		Transaction tr = session.beginTransaction();
		//先查询出给客户
		Customer c = session.get(Customer.class, 99L);
		//删除客户
		session.delete(c);
		
		tr.commit();
		session.close();
		
	}
	
	
	
	/**
	 * 使用封装好的hibernateUtils来实现添加操作
	 */
	@org.junit.Test
	public void test2() {
		Session session = HibernateUtils.getSession();
		Transaction tr = session.beginTransaction();
		
		//保存客户操作
		//如果已经在配置文件中设置了主键自增的方式,就不能在代码中设置主键了。
		Customer c = new Customer();
		c.setCust_name("alex1");
		//session保存(insert)操作
		session.save(c);
		
		
		tr.commit();
		session.close();
		
		
	}
	
	
	/*
	 * 简单的hibernate插入操作演示
	 */
	@org.junit.Test
	public void test1() {
		
		//加载配置文件
		Configuration config = new Configuration();
		//默认加载src下的hibernate.cfg.xml
		config.configure();
		//获得session工厂
		SessionFactory factory = config.buildSessionFactory();
		//获得session对象
		Session session = factory.openSession();
		//开启事务
		Transaction tr = session.beginTransaction();
		
		//保存客户操作
		//如果已经在配置文件中设置了主键自增的方式,就不能在代码中设置主键了。
		Customer c = new Customer();
		c.setCust_name("alex");
		//session保存(insert)操作
		session.save(c);
		
		//提交事务
		tr.commit();
		//销毁session
		session.close();
		//session工厂每个工厂有一个就可以,以后用spring来控制
		factory.close();
		
		
		
	}
	
	
	
	
	
}

猜你喜欢

转载自blog.csdn.net/alexzt/article/details/81475298