1. 首先我们介绍一下Configuration接口:配置Hibernate,根据其启动Hibernate,创建SessionFactory对象;
具体使用代码实例:
SessionFactory sf = new Configuration().configure().buildSessionFactory();
SessionFactory stf = new AnnotationConfiguration().configure().buildSessionFactory();
//当使用注解来实现持久化时则使用AnnotationConfiguration来创建SessionFactory
2. SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建session对象,SessionFactory是
线程安全的,意味着它的同一个实例可以被应用的多个线程共享,是重量级二级缓存;
具体使用代码示例:
Session session = sf.openSession(); //创建一个Session
3. Session接口:负责保存、更新、删除、加载和查询对象,是一个非线程安全的,避免多个线程共享一个session,是轻量级,一级缓存。
session.save(tea); //具体使用过程中要在前后加上事务,tea为某实体类对象
4. Transaction接口:管理事务。可以对事务进行提交和回滚;
具体使用代码示例:
session.beginTransaction(); //由于Hibernate使用事务所以这里要开启事务
session.getTransaction().commit(); //提交
5.Query和Criteria接口:执行数据库的查询。Criteria由session创建
Criteria criteria = session.createCriteria(Teacher.class); //参数为被操作的pojo类, 反射机制.
Criteria中可以增加查询条件
criteria.add(Expression.eq("name", "Tom"));
criteria.add(Expression.eq("age", new Integer(20)));
相当于查询语句:select * from t_user where name='Tom' and sex=20