package cn.itcast.primer;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
public class App {
private static SessionFactory sf=null;
static{
//创建Configuration对象,准备加载配置文件
Configuration config=new Configuration();
//默认加载类路径下的hibernate.cfg.xml文件
config.configure("cn/itcast/primer/hibernate.cfg.xml");
/*
* 加载Customer.hbm.xml文件
* config.addClass(Customer.class)
* * 加载与Customer.class在相同中,映射文件的名称与类文件的名称相同的文件,大小写也相同
*/
config.addClass(Customer.class);
//config.addResource("cn/itcast/primer/Customer.hbm.xml");
//利用配置文件的信息创建sessionFacorty
sf=config.buildSessionFactory();
}
@Test
public void saveCustomer(){
Session session=sf.openSession();
//开启事务 Transactionhibernate中的事务类
Transaction tx=session.beginTransaction();
//保存对象
Customer c=new Customer();
c.setName("zhang");
c.setAge(30);
c.setDes("xxxx");
session.save(c);
//提交事务
tx.commit();
//关闭session
session.close();
}
@Test
public void updateCustomer(){
Session session=sf.openSession();
Transaction tx=session.beginTransaction();
Customer c=new Customer();
c.setId(2);
c.setName("zhege");
c.setAge(30);
c.setDes("xxxx");
session.update(c);
tx.commit();
session.close();
}
// 9.通过id查询客户信息
@Test
public void findCustomerById(){
Session session=sf.openSession();
Transaction tx=session.beginTransaction();
/*
* session.get(Customer.class, 2)
* * 第一参数:查询出来的值,存放到javabean的class类型
* * 第二参数:表中主键的值
*/
Customer c=(Customer)session.get(Customer.class, 2);
tx.commit();
session.close();
}
//8.通过id删除客户信息
@Test
public void deleteCustomerById(){
Session session=sf.openSession();
Transaction tx=session.beginTransaction();
/*
* session.get(Customer.class, 2)
* * 第一参数:查询出来的值,存放到javabean的class类型
* * 第二参数:表中主键的值
*/
Customer c=(Customer)session.get(Customer.class, 2);
session.delete(c);
tx.commit();
session.close();
}
//10. 查询所有的客户信息
@Test
public void findCustomers(){
Session session=sf.openSession();
Transaction tx=session.beginTransaction();
//sql(面向数据库) hql(面向对象 面向javaBean)
Query query=session.createQuery("from Customer");
List list=query.list();
tx.commit();
session.close();
}
}