tbwshc

          hibernate操作數據庫的執行步驟

          先舉個hibernate執行SQL的例子:
            [java] view plaincopy
            public boolean addUser(UserDO userDO) {
            boolean b = false;
            if (userDO != null) {
            try {
            getHibernateTemplate().save(userDO);
            b = true;
            } catch (Exception e) {
            b = false;
            }
            } else {
            b = false;
            }
            return b;
            }
          一、hibernate操作數據庫的執行步驟,其實很簡單,可以自己實現一個小的hibernate框架:
            1、運用java反射機制,獲得user對象的類型user.class
            2、參考對象-關系映射元數據(可能是DO的spring注解,可能是hibernate配置文檔),找到和user類對應的表為user表,并建立對象域跟表屬性的對應
            3、根據以上映射信息,生成SQL語句
            4、通過JDBC API來執行SQL語句
            二、hibernate的核心接口:
            1、Configuration接口:配置hibernate,根啟動hibernate,創建sessionfactory對象。hibernate通過configuration實例來獲得對象-關系映射文件中的元數據,以及動態的配置hibernate屬性,然后創建sessionfactory實例。具體執行過程如下:
            [java] view plaincopy
            Configuration config=new Configuration();
            創建configuration實例,configuration類的構造方法中把applicationContext.xml文檔加載到內存,tb讀取文檔中sessionFactory Bean的配置。然后運用java反射機制,獲得userDO對象的類型UserDO。configuration類的addClass方法
            [java] view plaincopy
            config.addClass(userDO.class);
            該方法將hbm.xml文檔或者通過hibernate注解形式的“對象-關系映射元數據”讀入內存,找到和UserDO類對應的表為USER表,并建立對象域跟表屬性的對應。
            2、sessionfactory接口:初始化hibernate,充當數據存儲源的代理,創建session對象。一個sessionfactory實例對應著一個數據存儲源。重量級,一個數據庫只創建一個sessionfactory實例,它需要一個很大的緩存,用來存放預定義的SQL語句及映射的元數據等。
            3、session接口:負責保存、更新、刪除、加載和查詢對象。session對象不是線程安全的,因此應該避免過多個線程共享一個session實例。當session執行sql時候,session會針對上面生成的對象和關系映射,動態組成sql語句。
            4、transaction:事務管理接口。它對底層的事務接口做了封裝。
            5、query:執行數據庫查詢。query實例封裝了一個HQL語句,HQL語句是面向對象的,它引用類名和類的屬性。
            三、hibernate的使用步驟:
            1、創建hibernate配置文件
            2、創建持久化類
            3、創建對象-關系映射文件
            4、通過hibernate API編寫數據庫訪問代碼

          posted on 2013-06-28 17:01 chen11-1 閱讀(1047) 評論(0)  編輯  收藏 所屬分類: hibernate


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 罗江县| 商都县| 锡林郭勒盟| 长沙县| 西峡县| 大姚县| 英山县| 贵州省| 大丰市| 巨野县| 丽江市| 改则县| 礼泉县| 共和县| 凤城市| 鄂托克旗| 平塘县| 夹江县| 聊城市| 安徽省| 香港| 宁国市| 长治市| 石嘴山市| 奉节县| 濮阳县| 武清区| 蓬溪县| 太仆寺旗| 双柏县| 淮安市| 电白县| 河曲县| 宁阳县| 瑞丽市| 新晃| 博湖县| 铁岭市| 响水县| 武鸣县| 武功县|