這篇博客小編介紹Hibernate的經典內容:對象關係映射。主要介紹映射的基本概念,映射的分類,映射文件。html
ORM(Object Relational Mapping),即對象關係映射。它的做用就是在關係型數據庫和對象之間作了一個映射。從對象(Object)映射到關係(Relation),再從關係映射到對象。相信不少人跟小編一個毛病,看到概念就頭疼,下面小編畫了一張圖加深理解。java
這張圖特別簡單:原來,沒有Hibernate時,咱們須要經過JDBC+手動寫SQL語句來操做數據庫,如今,有了Hibernate,它將JDBC+SQL進行了高度封裝,咱們不須要再去和複雜SQL打交道,只要像操做對象同樣操做數據庫就能夠了。mysql
ORM的實現思想就是將數據庫中表的數據映射成對象,Hibernate可使咱們採用對象化的思惟操做關係型數據庫。算法
Hibernate在實現ORM功能的時候主要用到的文件有:
一、 映射類(*.java):它是描述數據庫表的結構,表中的字段在類中被描述成屬性,未來就能夠實現把表中的記錄映射成爲該類的對象了。
二、映射文件(*.hbm.xml):它是指定數據庫表和映射類之間的關係,包括映射類和數據庫表的對應關係、表字段和類屬性類型的對應關係以及表字段和類屬性名稱的對應關係等。
三、 hibernate核心配置文件(*.properties/*.cfg.xml):它指定hibernate的一些核心配置,包含與數據庫鏈接時須要的鏈接信息,好比鏈接哪一種數據庫、登陸數據庫的用戶名、登陸密碼以及鏈接字符串等。映射文件的地址信息也放在這裏。sql
上面的內容看上去挺多,其實特別少,基本映射很簡單,咱們主要學習關聯關係映射,其餘幾種映射通常不會用,只須要了解便可,用的時候看一下相關資料會作就好。數據庫
上篇博文咱們已經實現了一個基本映射,是使用XML方式配置映射,以下所示:session
[html] view plain copyapp
除了XML方式配置映射外,還能夠經過給類文件添加註解的方式配置映射,在上篇博文的基礎之上,咱們稍加修改。工具
一、加入hibernate annotion支持包學習
*hibernate-annotations.jar
*hibernate-commons-annotations.jar
*ejb3-persistence.jar
如圖所示:
二、創建實體類User,採用註解完成映射
[java] view plain copy
注:因爲主鍵改爲了自增加,因此數據類型修改爲了int類型
三、提供hibernate.cfg.xml文件,將實體類User加入到hibernate.cfg.xml配置文件中,完成基本配置
[html] view plain copy
四、編寫工具類ExportDB.java,註解生成ddl,必須採用AnnotationConfiguration類
[java] view plain copy
數據庫生成表如圖所示:
五、創建客戶端類Client,添加用戶數據到mysql
[java] view plain copy
運行以後,數據庫表生成的數據,以下圖所示:
註解和xml文件的優缺點,網上有不少,有興趣能夠查一下,小編就再也不累述了,可是小編認爲,學習初期最好不要使用註解,不易於理解Hibernate的原理,而且註解對於程序的可擴展性而言,太差了。
下篇博文,咱們介紹Hibernate的七種關聯關係映射,異常簡單,謝謝關注。