• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Hibernate4框架的Java訪問數(shù)據(jù)庫的設(shè)計與實現(xiàn)

      2014-12-22 18:59:51梁德華
      山東工業(yè)技術(shù) 2014年23期
      關(guān)鍵詞:數(shù)據(jù)庫

      梁德華

      (江西旅游商貿(mào)職業(yè)學(xué)院藝術(shù)傳媒與計算機(jī)分院,南昌330100)

      基于Hibernate4框架的Java訪問數(shù)據(jù)庫的設(shè)計與實現(xiàn)

      梁德華

      (江西旅游商貿(mào)職業(yè)學(xué)院藝術(shù)傳媒與計算機(jī)分院,南昌330100)

      摘要:傳統(tǒng)的JDBC操作數(shù)據(jù)庫不僅工程大、代碼冗長,而且不利于維護(hù)。Hibernate是一個開源的ORMapping(對象-關(guān)系映射)框架,它可以用在Java項目里簡化數(shù)據(jù)庫的連接訪問操作。本文介紹了Hibernate4框架的技術(shù)特點以及如何使用它創(chuàng)建Java訪問數(shù)據(jù)庫的過程。

      關(guān)鍵詞:Hibernate;Java;數(shù)據(jù)庫

      1 Hibernate介紹

      Hibernate是一個開放源代碼的框架,它采用ORMapping(對象-關(guān)系映射),輕量級封裝了JDBC。JAVA開發(fā)人員使用它可以很輕松的持久化訪問數(shù)據(jù)庫。Hibernate4是這個框架的最新版本。ORMapping的基本規(guī)則有:類和表對應(yīng);類的屬性和表的字段對應(yīng);類的實例和表中記錄對應(yīng);一個類可以對應(yīng)多個表,一個表可以對應(yīng)多個類;數(shù)據(jù)庫中的表可以無主鍵,對象必須設(shè)置主鍵;數(shù)據(jù)庫中各表的關(guān)系映射為對象之間的關(guān)系;對象中屬性的個數(shù)及名稱可以和表中的字段個數(shù)及名稱不一樣。

      Hibernate的主要功能就是映射Java對象和表之間的關(guān)系,它還有查詢數(shù)據(jù)的方法,相對于人工使用SQL和JDBC大大的減少了數(shù)據(jù)處理的時間。Hibernate還可以幫助程序員減少數(shù)據(jù)持久化的編程時間。

      在使用MVC模式開發(fā)的Java程序中,Hibernate框架可以作為模型層。Hibernate通過配置hibernate.cfg.xml文件和***.hbm.xml文件將Java對象和數(shù)據(jù)庫進(jìn)行映射,然后就可以對數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行查詢、添加、修改、刪除等操作。

      Hibernate4的核心組件有:

      (1)SessionFactory接口:負(fù)責(zé)初始化Hibernate。負(fù)責(zé)創(chuàng)建Session對象,充當(dāng)數(shù)據(jù)存儲源的代理。通常每個項目一個SessionFactory就夠了。

      (2)Con fi guration類:載 入 Hibernate.cfg.xml文 件, 生 成SessionFactory。

      (3)Query接口:提供對數(shù)據(jù)庫和持久對象的查詢操作??梢允褂肧ession的createQuery()方法生成。

      (4)Transaction接口:管理Hibernate事務(wù)的接口,主要的方法為rollback()和commit(),Session接口的beginTrancation()可以生成。

      (5)Session接口:它有update(),delete(),save(),load()和get()等方法用來進(jìn)行更新、載入、保存、刪除等。是Hibernate非常重要的接口。

      2 Hibernate4構(gòu)建環(huán)境

      目前Hibernate版本有Hibernate2、Hibernate3和Hibernate4,最新的版本是Hibernate4.2.3.Final Released。

      Hibernate4的一些常用類包有:

      net.sf.hibernate.*,該包的類是接口類和一些異常類。

      net.sf.hibernate.cfg.*,該包的類的作用是讀取配置文件。

      net.sf.hibernate.connection.*,該包的類是數(shù)據(jù)庫連接池字符串。

      net.sf.hibernate.persister.*,該包是Hibernate的核心類包,實現(xiàn)持久行ORMapping。

      net.sf.hibernate.loader.*,該包是Hibernate的核心類包,主要作用是生成sql語句。

      新建Eclipse工程,把hibernate-release-4.2.3.zip解壓后把lib/required文件夾內(nèi)的jar包復(fù)制到新工程的library里,再把SLF4J(simple logging facade for java)的slf4j-simple-1.5.2.jar和Apache的Log4j的包log4j-1.2.8.jar放到library下面。最后把JDBC的驅(qū)動包也放入到library里面。

      3 Hibernate4運行過程的簡單實例

      在 數(shù) 據(jù) 庫 中 創(chuàng) 建 新 表 tb_example, 字 段 uid,exid,username,userage。配置hibernate.cfg.xml,把該文件放入src目錄下。在該文件中主要配置:連接數(shù)據(jù)庫;可選配置;注冊資源文件;設(shè)置緩存。hibernate-release-4.2.3.zip文件內(nèi)有 hibernate.cfg.xml的實例。在該文件內(nèi)設(shè)置好連接的數(shù)據(jù)庫服務(wù)器名、端口號、管理員賬號、密碼等。

      接下來配置與類同名的*.hbm.xml文件,主要配置:類和表的映射;主鍵;類的屬性和表中字段的映射;關(guān)系的映射。hibernate-release-4.2.3.zip文件內(nèi)同樣也有Customer.hbm.xml的實例文件。在文件內(nèi)設(shè)置property字段exit、username、userage等。

      4 總結(jié)語

      使用Hibernate4來實現(xiàn)Java訪問數(shù)據(jù)庫,有非常明顯的優(yōu)勢。Hibernate建立了一種數(shù)據(jù)庫和對象的映射、數(shù)據(jù)操作等框架,可以持久性的訪問數(shù)據(jù)庫對象。和JDBC相比較,Hibernate簡化了代碼,減少了數(shù)據(jù)庫操作的工作量,提高程序開發(fā)的效率。Hibernate也提供了對現(xiàn)在流行的多種數(shù)據(jù)庫的支持,移植性好。Hibernate還是一個開源的Java框架,使得程序員可以修改其源代碼,可以定制符合企業(yè)需求的版本。Hibernate4相比Hibernate其他版本而言,增加了一些新的特性,修補(bǔ)了一些漏洞和問題,更提高了訪問數(shù)據(jù)庫的效率。

      參考文獻(xiàn):

      [1]朱慶偉,吳宇紅.一種對象/關(guān)系映射框架的分析和應(yīng)用[J].電子科技,2004(01).

      [2]秦敏,李志蜀.利用Hibernate框架簡化Java數(shù)據(jù)庫訪問[J].計算機(jī)應(yīng)用于軟件,2006(06).

      [3]劉磊,李琦.數(shù)據(jù)庫設(shè)計如何在軟件項目中配置Hibernate關(guān)聯(lián)映射[J].品牌,2014(08).

      猜你喜歡
      數(shù)據(jù)庫
      數(shù)據(jù)庫
      財經(jīng)(2017年15期)2017-07-03 22:40:49
      數(shù)據(jù)庫
      財經(jīng)(2017年2期)2017-03-10 14:35:35
      數(shù)據(jù)庫
      財經(jīng)(2016年15期)2016-06-03 07:38:02
      數(shù)據(jù)庫
      財經(jīng)(2016年3期)2016-03-07 07:44:46
      數(shù)據(jù)庫
      財經(jīng)(2016年6期)2016-02-24 07:41:51
      數(shù)據(jù)庫
      財經(jīng)(2010年20期)2010-10-19 01:48:32
      永城市| 金华市| 特克斯县| 乡宁县| 二连浩特市| 广水市| 德江县| 灵川县| 田林县| 丽江市| 石嘴山市| 塘沽区| 唐海县| 山阳县| 井研县| 十堰市| 长泰县| 马鞍山市| 天水市| 马尔康县| 珠海市| 海兴县| 娱乐| 开远市| 德州市| 凉城县| 宁陕县| 平遥县| 东莞市| 盐山县| 宁波市| 阿图什市| 茌平县| 沧源| 邹平县| 哈密市| 竹北市| 进贤县| 乡城县| 巨鹿县| 松溪县|