Hibernate框架學習筆記(一)

1.Hibernate概述:應用於javaee三層框架中的dao層框架,對數據庫進行crud操作。

        * 不需要寫複雜的jdbc代碼

        *不需要寫sql語句

        *現在一般都是使用的是hibernate-release-5.0.7.Final

 

2.ORM思想:Object Relational Mapping(對象關係映射)

        讓實體類和數據庫進行一一對應關係。(實體類和數據庫表對應、實體類屬性和表裏面的字段對應)

        Hibernate使用orm思想對數據庫進行crud操作。

 

3.Hibernate入門

         *  搭建hibernate環境:

                (1)導入必要的包:

                         

                (2)創建User實體類:

                       

               (3)創建數據庫,但可以不需要創建表。

               (4)配置實體類和數據庫表一一對應的關係(映射關係),

                        >創建xml格式的配置文件,但映射的文件的位置和名稱都沒有規定,但建議是:  實體類名稱.hbm.xml                      

             (5) 創建Hibernate核心配置文件,核心配置文件的文件格式和位置是固定的,位置必須在src下,名稱必須在hibernate.cfg.xml。

                  包含數據庫信息、hibernate信息、把映射文件放進來:

             (6)寫一個測試類,實現添加操作:

                        > 第一步 加載hibernate核心配置文件

                        > 第二步 創建SessionFactory對象

                        > 第三步 使用SessionFactory創建session對象

                        > 第四步 開啓事務

                        > 第五步 寫具體的crud操作

                        > 第六步 提交事務

                        > 第七步 關閉資源  

                        

                  

4.Hibernate配置文件詳解:

        Hibernate映射配置文件:

            (1)映射配置文件的名稱和位置沒有固定的要求

            (2)映射文件中,標籤name屬性值寫實體類相關的內容

                        class標籤name屬性值是實體類的全路徑

                        id標籤和property標籤name屬性值是實體類屬性的名稱

            (3)id標籤和property標籤的column屬性是可是省略的,一旦省略後,就和name屬性值是一樣的。

            (4)property標籤type屬性,設置生成表字段的類型,自動對應類型。

        Hibernate核心配置文件:

            (1)核心配置文件的名稱和位置都是固定的,位置必須在src下,名稱必須在hibernate.cfg.xml。

 

5.Hibernate核心API:

        Configuration:

           

        SessionFactory: 在創建sessionFactory過程中,這個過程是非常消耗資源的

        延伸一下,既然非常消耗資源,那麼能不能創建一個工具類,使得一個項目只創建一個sessionFactory對象:

            具體實現:寫一個工具類,寫靜態代碼塊實現。

       Session(重點)

            (1)session類似於jdbc中connection

            (2)調用session裏面的不同的方法實現crud操作

                    添加-->save方法

                    修改-->update方法

                    刪除-->delete方法

                    根據id查詢-->get方法

            (3)session對象是一個單線程對象,只能一個人使用,不能共用。

       Transaction:

           (1)事務對象

            (2)事務提交和回滾方法

                tx.commit();

                tx.rollback();

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章