Configuration
读取配置
Hibernate通常使用
Configuration config = new Configuration().configure();
的方式创建实例,此种方式默认会去src下读取 hibernate.cfg.xml配置文件。如果不想使用默认的hibernate.cfg.xml配置文件,而是使用指定目录下(或自定义)的配置文件,则需要向configure()方法中传递一个文件路径的参数,其代码写法如下:
Configuration config = new Configuration().configure("xml文件位置");
SessionFactory
应用加载时创建 应用卸载是销毁 并且线程安全
维护信息:
1.连接数据库的信息
2.hibernate的基本配置
3.映射文件的位置,以及映射文件中的配置
4.一些预定义的SQL语句(这些语句都是通用的) 比如:全字段保存,根据id的全字段更新,根据id的全字段查询,根据id的删除等等。
5.hibernate的二级缓存(了解)
Session
Session 是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,它的主要功能是为持久化对象提供创建、读取和删除的能力,所有持久化对象必须在session的管理下才可以进行持久化操作。
创建SessionFactory实例后,就可以通过它获取Session实例。获取Session实例有两种方式,一种是通过openSession()方法,
单线程对象 一个线程只能创建一个
Transaction
Transaction接口主要用于管理事务,它是Hibernate的数据库事务接口,且对底层的事务接口进行了封装。Transaction接口的事务对象是通过Session对象开启的,其开启方式如下所示。
Transaction transaction = session.beginTransaction();
代码附上
@Test
public void test() {
// TODO Auto-generated method stub
//创建实体类 设置参数
Customer customer = new Customer();
customer.setCustName("test1测试人员");
//加载主配置文件
Configuration cfg = new Configuration();
cfg.configure();
//构建SessionFactory
SessionFactory sessionFactory = cfg.buildSessionFactory();
//生产session对象
Session session = sessionFactory.openSession();
//开启事务
Transaction tx = session.beginTransaction();
//保存客户
session.save(customer);
//事务提交
tx.commit();
//释放资源
session.close();
sessionFactory.close();
}