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();
}
}
Hibernate-01 框架第一天 (session常用方法)
猜你喜欢
转载自blog.csdn.net/alexzt/article/details/81475298
今日推荐
周排行