1. 首先咱們介紹一下Configuration接口:配置Hibernate,根據其啓動Hibernate,建立SessionFactory對象;java
具體使用代碼實例:數據庫
SessionFactory sf = new Configuration().configure().buildSessionFactory(); SessionFactory stf = new AnnotationConfiguration().configure().buildSessionFactory(); //當使用註解來實現持久化時則使用AnnotationConfiguration來建立SessionFactory
2. SessionFactory接口:初始化Hibernate,充當數據存儲源的代理,建立session對象,SessionFactory是緩存
線程安全的,意味着它的同一個實例能夠被應用的多個線程共享,是重量級二級緩存;安全
具體使用代碼示例:session
Session session = sf.openSession(); //建立一個Session
3. Session接口:負責保存、更新、刪除、加載和查詢對象,是一個非線程安全的,避免多個線程共享一個session,是輕量級,一級緩存。ui
session.save(tea); //具體使用過程當中要在先後加上事務,tea爲某實體類對象
4. Transaction接口:管理事務。能夠對事務進行提交和回滾;線程
具體使用代碼示例:代理
session.beginTransaction(); //因爲Hibernate使用事務因此這裏要開啓事務 session.getTransaction().commit(); //提交
5.Query和Criteria接口:執行數據庫的查詢。Criteria由session建立code
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對象