Configuration,SessionFactory,Session

Configuration,SessionFactory,Session

Configuration: 负责管理Hibernate的配置信息,这些配置信息都是从配置文件hibernate.cfg.xml或者Hibernate.
properties读取的,当然也可以自定义文件名称,只要在实例化Configuration的时候指定具体的路径就可以了;
SessionFactiory: Configuration的实例会根据当前的配置信息,构造SessionFactory实例。SessionFactory是线程安全的,一般情况下一个应用中一个数据库共享一个SessionFactory实例。
Session: 一般的持久化方法(CRUD)都是通过Session来调用的,Session是非线程安全的。

 

例子代码:

package org.william.First;
import org.hibernate.cfg.Configuration;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.william.xml.*;


/**
 * @author wangliang138840
 *
 */
public class BaseCRUD{
 
 private static Configuration config;
 private static SessionFactory sessionFactory;
 private Session session;
 
 public BaseCRUD(){
  init();
 }
 
 private void init(){
  try{
   config = new Configuration().configure();
   sessionFactory = config.buildSessionFactory();
   session = sessionFactory.openSession();
  }catch(Exception e){
   e.printStackTrace();
  }
 }
 
 public void close(){
  try{
   session.close();
   sessionFactory.close();
  }catch(Exception e){
   e.printStackTrace();
  }
 }
 
 public static void main(String args[]){
  BaseCRUD baseCRUD = new BaseCRUD();
  Customer customer = new Customer();
  Transaction tx = baseCRUD.session.beginTransaction();
  customer.setName("wangyi");
  baseCRUD.session.save(customer);
  tx.commit();
  
  customer = (Customer)baseCRUD.session.get(Customer.class, new Long(1));
  System.out.println(customer.getPeopleID());
  
  tx = baseCRUD.session.beginTransaction();
  baseCRUD.session.delete(customer);
  tx.commit();
  
  baseCRUD.close();
 }
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值