十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本篇內(nèi)容介紹了“hibernate的sessionfactory是做什么的”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出武陵源免費(fèi)做網(wǎng)站回饋大家。
在回答這個(gè)問題之前,先來看看一些概念。
接下來,創(chuàng)建一個(gè)sessionfactory,一般有兩種創(chuàng)建方式,1.從XML文件讀取配置信息構(gòu)建SessionFactory,2.從Java屬性文件讀取配置信息構(gòu)建SessionFactory。
第一種:
1》實(shí)例化Configuration對(duì)象,默認(rèn)讀取src目錄下的hibernate.cfg.xml,配置文件
Configuration config = new Configuration().configure();
或者在configure();中指明文件名稱和路徑
Configuration config = new Configuration().configure("hibernate.cfg.xml");
2》現(xiàn)在這個(gè)config對(duì)象,已經(jīng)包括所有Hibernate運(yùn)行期的參數(shù),通過Configuration實(shí)例的buildSessionFactory()方法可以構(gòu)建一個(gè)惟一的SessionFactory:
SessionFactory sessionFactory = config.buildSessionFactory();
第二種
1》創(chuàng)建一個(gè)Configuration對(duì)象,此時(shí)Hibernate會(huì)默認(rèn)加載classpath中的配置文件hibernate.properties,代碼如下。
Configuration config = new Configuration();
2》由于在配置文件中缺少相應(yīng)的配置映射文件的信息,所以此處需要通過編碼方式加載,這可以通過Configuration對(duì)象的addClass()方法實(shí)現(xiàn),具體代碼如下。
config.addClass(BranchForm.class);
addClass()方法用于加載實(shí)體類。
3》完成配置文件和映射文件的加載后,將得到一個(gè)包括所有Hibernate運(yùn)行期參數(shù)的Configuration實(shí)例,通過Configuration實(shí)例的buildSessionFactory()方法可以構(gòu)建一個(gè)惟一的SessionFactory,代碼如下。
SessionFactory sessionFactory = config.buildSessionFactory();
構(gòu)建SessionFactory要放在靜態(tài)代碼塊中,因?yàn)樗恍柙谠擃惐患虞d時(shí)執(zhí)行一次。
Session session=sessionFactory.openSession();
然后得到這個(gè)session之后,就可以使用它來進(jìn)行數(shù)據(jù)庫的具體操作了,給一個(gè)簡(jiǎn)單的代碼。多說一句,一般來說在使用session的時(shí)候,都會(huì)用到事務(wù),尤其是需要對(duì)數(shù)據(jù)做修改的時(shí)候。上代碼:
public void save(Student student) { Transaction transaction= getSession().beginTransaction(); //開啟事務(wù) getSession().save(student);//只要傳一個(gè)Student的對(duì)象實(shí)例 transaction.commit(); //事務(wù)提交 getSession().close();//關(guān)閉session}
“hibernate的sessionfactory是做什么的”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!