tbwshc

          hibernate操作數(shù)據(jù)庫的執(zhí)行步驟

          先舉個hibernate執(zhí)行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操作數(shù)據(jù)庫的執(zhí)行步驟,其實很簡單,可以自己實現(xiàn)一個小的hibernate框架:
            1、運用java反射機制,獲得user對象的類型user.class
            2、參考對象-關(guān)系映射元數(shù)據(jù)(可能是DO的spring注解,可能是hibernate配置文檔),找到和user類對應(yīng)的表為user表,并建立對象域跟表屬性的對應(yīng)
            3、根據(jù)以上映射信息,生成SQL語句
            4、通過JDBC API來執(zhí)行SQL語句
            二、hibernate的核心接口:
            1、Configuration接口:配置hibernate,根啟動hibernate,創(chuàng)建sessionfactory對象。hibernate通過configuration實例來獲得對象-關(guān)系映射文件中的元數(shù)據(jù),以及動態(tài)的配置hibernate屬性,然后創(chuàng)建sessionfactory實例。具體執(zhí)行過程如下:
            [java] view plaincopy
            Configuration config=new Configuration();
            創(chuàng)建configuration實例,configuration類的構(gòu)造方法中把applicationContext.xml文檔加載到內(nèi)存,tb讀取文檔中sessionFactory Bean的配置。然后運用java反射機制,獲得userDO對象的類型UserDO。configuration類的addClass方法
            [java] view plaincopy
            config.addClass(userDO.class);
            該方法將hbm.xml文檔或者通過hibernate注解形式的“對象-關(guān)系映射元數(shù)據(jù)”讀入內(nèi)存,找到和UserDO類對應(yīng)的表為USER表,并建立對象域跟表屬性的對應(yīng)。
            2、sessionfactory接口:初始化hibernate,充當(dāng)數(shù)據(jù)存儲源的代理,創(chuàng)建session對象。一個sessionfactory實例對應(yīng)著一個數(shù)據(jù)存儲源。重量級,一個數(shù)據(jù)庫只創(chuàng)建一個sessionfactory實例,它需要一個很大的緩存,用來存放預(yù)定義的SQL語句及映射的元數(shù)據(jù)等。
            3、session接口:負(fù)責(zé)保存、更新、刪除、加載和查詢對象。session對象不是線程安全的,因此應(yīng)該避免過多個線程共享一個session實例。當(dāng)session執(zhí)行sql時候,session會針對上面生成的對象和關(guān)系映射,動態(tài)組成sql語句。
            4、transaction:事務(wù)管理接口。它對底層的事務(wù)接口做了封裝。
            5、query:執(zhí)行數(shù)據(jù)庫查詢。query實例封裝了一個HQL語句,HQL語句是面向?qū)ο蟮模妙惷皖惖膶傩浴?br />  三、hibernate的使用步驟:
            1、創(chuàng)建hibernate配置文件
            2、創(chuàng)建持久化類
            3、創(chuàng)建對象-關(guān)系映射文件
            4、通過hibernate API編寫數(shù)據(jù)庫訪問代碼

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


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


          網(wǎng)站導(dǎo)航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          tbw淘寶商城-首頁

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 郑州市| 康乐县| 荔波县| 绥棱县| 资讯 | 林甸县| 五大连池市| 阿鲁科尔沁旗| 青河县| 通辽市| 双辽市| 永修县| 安义县| 晋江市| 南通市| 库伦旗| 盘山县| 陇西县| 徐闻县| 土默特左旗| 嘉荫县| 亚东县| 醴陵市| 鄂伦春自治旗| 大庆市| 米林县| 乾安县| 罗平县| 嘉兴市| 平武县| 鹤岗市| 商丘市| 澜沧| 大石桥市| 梅州市| 醴陵市| 博白县| 罗山县| 汤阴县| 九江县| 淮安市|