当前位置: 代码迷 >> Web前端 >> hibernate 增删节查和遍历(转)
  详细解决方案

hibernate 增删节查和遍历(转)

热度:238   发布时间:2012-08-27 21:21:57.0
hibernate 增删改查和遍历(转)


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();
}
???
???
???
???

}

?

  相关解决方案