什么是Hibernate?
?????? 開源的,輕量級的,內部實現了ORM思想的,封裝了JDBC的持久層框架.那么什么是開源的,它指的是開放源代碼;輕量級的,是因為它消耗的資源(內存)少,依賴的jar包少;內部實現了ORM思想指的是它不再關注sql語句的編寫,只需操作實體類的屬性和方法;封裝了JDBC因此對比JDBC的效率會有所降低,但是Hibernate提供了一系列的優(yōu)化手段保證查詢效率.
第一部分 Hibernate的入門
這一部分用一句話概括:一個思想,兩個映射,三個準備,七個步驟.
一個思想:
?????? 指的是ORM思想,是Object Relation Mapping的縮寫(對象關系映射).
?????? ORM思想在Hibernate中有三個步驟:
?????????????? (1)將實體類和數據庫表映射起來;
?????????????? (2)將類中的屬性和表中的字段映射起來;
?????????????? (3)使用配置文件將這些關系描述出來.
兩個映射:
?????? 指的是描述實體類和數據庫表的映射關系的xml文件,是搭建Hibernate運行環(huán)境的一個步驟,就要涉及馬上要講的三個準備.
三個準備: ? ?
???????? 搭建Hibernate運行環(huán)境需要三個準備工作:
???????????????? 第一步,創(chuàng)建工程,導入jar包(可到http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/?中下載);
???????????????? 第二步,根據表編寫它的實體類和實體類映射文件,這里要注意的是映射文件的位置以及命名(位置:實體類所在的包下,命名:實體類名.hbm.xml);
xml文件的編寫首先要導入DTD約束,如圖1
?然后將實體類和數據庫表映射起來,使用的是class標簽,如圖2
? 然后就是將類中的屬性和表中的字段映射起來,這一涉及到配置主鍵和配置普通屬性,配置主鍵使用id標簽,配置普通屬性使用property標簽,如圖3
第三步,編寫核心配置文件,這里需要配置數據庫信息砰碴、Hibernate的配置信息以及映射文件的位置(位置:src下;命名:hibernate.cfg.xml).
核心配置文件首先也要導入DTD約束,但和映射文件的約束不同,如圖4
然后就是就是編寫數據庫配置信息和hibernate配置信息,如圖5
在做完以上工作后就可以對數據庫進行增刪改查了!
七個步驟:
??????? (1)加載配置文件:
???????????????? Configuration cfg = new Configuration();
???????????????? cfg.configure();
??????? (2)構建一個SessionFactory對象
? ? ? ? ? ? ? ? ? SessionFactory? factory? =? cfg.buildSessionFactory();
??????? (3)打開一個新的session對象
? ? ? ? ? ? ? ? ? Session session = sessionFactory.openSession();
??????? (4)開啟事務,返回事務對象
? ? ? ? ? ? ? ? ? Transaction tx = session.beginTransaction();
??????? (5)增刪改查:使用session的save傻丝、delete墩剖、get/load方法進行CRUD(增刪改查)操作
??????? (6)提交事務
? ? ? ? ? ? ? ?? tx.commit();
??????? (7)釋放資源
? ? ? ? ? ? ? ?? session.close();
?????????????? ? sessionFactory.close();
這時我們可進一步抽取一個工具類HibernateUtils,如圖6
------------未完待續(xù)---------