999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用Hibernate框架實現FTTH接入區域MIS

2013-04-12 00:00:00李小明
現代電子技術 2013年16期

摘 要: 地區級電信FTTH接入區域管理信息系統開發需要簡化數據持久層的操作,提高系統與數據庫的交互效率,利用Hibernate ORM(Object/Relation Mapping)框架技術建立面向對象的域模塊和關系數據庫模型之間的映射是有效的解決手段。Hibernate框架作為連接Java應用程序和關系數據庫的中間件,將Hibernate框架用于開發FTTH接入區域信息管理系統,實際應用結果表明,Hibernate框架方法能夠明顯簡化了數據庫訪問和數據持久化操作,提高了系統開發效率,滿足了業務應用的要求,并且使系統功能結構清晰,后期易于維護和擴展。

關鍵詞: Hibernate; ORM; 數據持久層; 關系映射

中圖分類號: TN919?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2013)16?0056?03

0 引 言

為了更好發展光纖業務和為下一步工作計劃提供信息支持,市場和資源管理部門需要及時了解、共享FTTH接入覆蓋區域的覆蓋信息[1],開發FTTH接入區域MIS 來解決問題。此系統基于B/S模式項目,系統需要與數據庫進行通信交互、CRUD操作。

文獻[2]通過底層的ODBC方式來實現與數據庫進行連接及交互,文獻[3]通過JDBC方式,即能夠執行SQL語句的Java API方式來建立與數據庫進行連接及交互。文獻[4]指出Hibernate在數據庫中持久化業務對象的優秀特點。

地區級電信FTTH接入區域MIS在使用要求上需要靈活的數據庫管理與交互方式,為了簡化與數據庫交互操作,提高開發效率,在上述文獻的基礎上,采用Hibernate框架來創建和維護數據持久層的方法[5?6],由其負責與數據庫交互,結果表明,切實能簡化數據庫訪問操作和提高系統與數據庫交互效率[7?8]。

1 Hibernate介紹

Hibernate是JDBC的輕量級的對象封裝和開放源代碼的對象關系映射框架,連接Java的應用程序和關系數據庫的中間件,負責Java對象的持久化。Hibernate最大的優點就是允許代碼以對象模式來訪問數據庫內容,使得Java開發人員不再用傳統拼寫JDBC SQL語句代碼的方式對數據庫進行CRUD持久化操作,而是使用對象編程思維來操縱數據庫。此外為了提高持久化效率,Hibernate對每一種數據庫都提供對應的方言Dialect,來支持本數據庫提供的一些額外的SQL標準或語法[9?10]。

Hibernate技術本質上是一個提供數據庫服務的中間件。它的架構如圖1所示。

整個系統主要有3層:應用層(Application)、基于Hibernate的數據持久層(Persistent Layer)、數據庫層(Hibernate)。

整個系統是利用數據庫以及配置文件,如hibernate.cfg.xml來為應用程序提供數據持久化服務。通過操作Hibernate配置文件中的值對象和其提供的一些基本類,就可以接入訪問數據庫。

2 Hibernate框架在FTTH接入區域MIS中

的應用

本系統是基于Web的FTTH接入區域信息管理系統。主要能實現后臺資源管理人員對FTTH接入區域信息的收集錄入、信息變更,前臺人員信息查詢等功能模塊。

采用Oracle數據庫,Hibernate作為數據持久層。所有的業務對象都通過Annotation注解和結合hibernate.cfg.xml配置文件將其映射至數據庫的對應表。

在應用Hibernate框架時,首先需要編寫它的配置文件,在此配置文件中增加需要映射處理的Java對象。利用Annotation 對需要持久化的Java對象與關系數據庫數據表之間的映射進行注解,最后編寫業務邏輯類,以實現具體的業務邏輯,并封裝對Hibernate的訪問。

FTTH接入區域信息管理系統中,核心的實體表為T_Ftth_Access_Area,下面以訪問此表為例,簡單介紹一下Hibernate的使用過程。

2.1 Hibernate配置

系統通過加載讀取Hibernate配置文件中的數據庫信息來連接數據庫。Hibemate的配置文件有兩種形式:一種是XML格式的文件,默認名為hibernate.cfg.xml,一種是properties屬性文件,默認文件名是hibernate.properties。

本系統采用XML配置文件的方式進行配置,配置文件主要提供兩方面的重要配置信息,即提供連接數據庫的各種參數信息和提供Hibernate的事務管理對象信息,如產生會話的工廠對象SessionFactory。hibernate.cfg.xml配置如下:

<!—數據庫連接配置信息 ??>

<!?? 指定數據庫所用到的驅動 ??>

name=\"connection.driver_class\">oracle.jdbc.driver.OracleDriver

<!?? 指定數據庫鏈接的url,hibernate鏈接的數據庫名 ??>

jdbc:oracle:thin:@localhost:resource

<!?? 指定連接數據庫的用戶名 ??>

sa

<!?? 指定連接數據庫的用戶口令 ??>

root

<!?? 指定連接池里的最大連接數 ??>

100

<!?? 指定數據庫方言 ??>

org.hibernate.dialect.Oracle9iDialect

<!—類和對應數據庫表映射信息??>

2.2 編寫持久化類及注解持久化類與數據庫表映射

關系

持久化類是數據庫表實體的一種對象反映,是業務層和持久層的數據表示。在Hibernate框架中,持久化類可以使用標準的JavaBean來編寫,類屬性增加標準get、set方法,以便Hibernate持久化對象時讀取和寫操作。

通過持久化類包javax.persistence對實體類進行注解,定義實體類與數據庫表映射關系。

在本系統FtthAccessArea對象中,根據業務實際意義定義相關屬性和方法,FtthAccessArea持久化類及Annotation注解主要代碼如下:

/*通過注解定義持久化類與數據庫表映射關系 */

@Entity

@Table(name=\"T_Ftth_Access_Area\")

public class FtthAccessArea

{

private int id;

private String areaName;

private String areaDesc;

private String accessType;

private String accessResourceCode;

private Date createDate;

private String staffId;

/*定義主鍵ID號產生方式 */

@Id

@GeneratedValue

public int getId()

{return id; }

public void setId(int id)

{this.id = id; }

public String getAreaName()

{return areaName; }

public void setAreaName(String areaName)

{this.areaName = areaName; }

...}

2.3 持久化對象操作

Hibernate首先根據配置文件構建session工廠對象,然后由工廠創建session對象,最后通過session來實現對數據庫的操作,得到Session對象后,可以打開事務,然后從面向對象的角度來操作數據。

下面,以增加FTTH接入區域信息為例來介紹持久化對象的操作過程。

(1)創建session對象:

根據默認的Hibernate配置文件名hibernate.cfg.xml創建工廠對象:

SessionFactory sf =

new AnnotationConfiguration().configure().buildSessionFactory();

Session session=sf.getCurrentSession();

(2)開啟事務:

session.beginTransaction();

(3)創建一個FtthAccessArea對象:

FtthAccessArea ftthAccessArea = new FtthAccessArea();

ftthAccessArea.setAreaName(\"Hibernate\");

ftthAccessArea.setAccessType(\"FTTH\");

...

ftthAccessArea.setCreateDate(new Date());

(4)保存創建的對象到session中:

session.save(ftthAccessArea);

(5)提交事務,保存持久化對象數據至數據庫中:

session.getTransaction().commit();

通過以上步驟即可實現對象數據持久化操作,故采用Hibernate框架在很大程度上簡化系統編程代碼,提高開發效率,避免拼寫SQL語句的煩瑣工作。

3 結 語

Hibernate是一個優秀的Object/Relation Mapping)框架,實現業務實體對象與關系數據庫中二維表的映射。創新點在于利用Hibernate框架理想的實現FTTH接入區域管理信息系統數據持久層模塊功能,充分利用Hibernate技術在數據持久層上的優異功能,結果表明,Hibernate技術顯著簡化系統與數據庫交互操作和數據持久化工作,優化系統編程代碼,提高系統開發效率,為業務對象在關系數據庫中持久化的項目開發提供一定的參考價值。

參考文獻

[1] 楊桂光.基于 EPON 接入的城鄉結合區域寬帶網絡優化方案[D].廣州:華南理工大學,2011.

[2] LAPSLEY M, RIPLEY B. ODBC database access [EB/OL]. [2004?11?22]. http://www.codeproject.com.

[3] ENDRES M. The preference SQL JDBC driver [EB/OL]. [2012?05?12]. https://www.informatik.uni?augsburg.

[4] O'NEIL E J. Object/relational mapping 2008: hibernate and the entity data model (EDM) [C]// Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data. [S.l.]: ACM, 2008: 1351?1356.

[5] ELLIOTT J, FOWLER R.Harnessing Hibernate [M].北京:機械工業出版社,2009.

[6] 孫衛琴.精通Hibernate:Java對象持久化技術詳解[M].北京:電子工業出版社,2010.

[7] 侯志松,余周,鄭煥.Hibernate完全手冊[M].北京:機械工業出版社,2008.

[8] 黃佩虹,張冰晶.精通Hibernate?Java數據庫持久層開發核心編程[M].北京:清華大學出版社,2009.

[9] 南磊.中小企業OA系統開發詳解第5講:hibernate orm框架[M].北京:機械工業出版社,2011.

[10] 陳亞輝,繆勇.Struts2+Spring+Hibernate框架技術與項目實戰[M].北京:清華大學出版社,2012.

主站蜘蛛池模板: 欧美成人一级| 国产精品漂亮美女在线观看| 中国特黄美女一级视频| 99视频在线观看免费| a免费毛片在线播放| 扒开粉嫩的小缝隙喷白浆视频| 午夜爽爽视频| 又爽又大又黄a级毛片在线视频| 国产免费久久精品99re丫丫一| 国产精品成人一区二区| 亚洲性影院| 久久精品视频一| 精品国产一二三区| 国产欧美日韩视频怡春院| 无码电影在线观看| 再看日本中文字幕在线观看| 性喷潮久久久久久久久| 国产97公开成人免费视频| 亚洲欧洲AV一区二区三区| 国产免费高清无需播放器| 国产91全国探花系列在线播放| 又黄又湿又爽的视频| 中文字幕一区二区视频| 一级看片免费视频| 国产网友愉拍精品视频| 国产95在线 | 成人毛片免费在线观看| 幺女国产一级毛片| 免费一级毛片完整版在线看| 欧美a级在线| 一级成人a毛片免费播放| 国产激爽大片高清在线观看| 欧美人与动牲交a欧美精品| 日韩精品毛片| 成人蜜桃网| 九月婷婷亚洲综合在线| 精品日韩亚洲欧美高清a| 国产不卡网| 国产精品网拍在线| 成人午夜精品一级毛片| 2019国产在线| 国产欧美一区二区三区视频在线观看| 国产拍在线| 亚洲中文字幕日产无码2021| 毛片基地美国正在播放亚洲| 亚洲婷婷在线视频| 亚洲天堂精品在线观看| 日本人又色又爽的视频| 青青热久免费精品视频6| 国产尤物在线播放| 最新精品久久精品| 日韩在线观看网站| 日韩国产综合精选| 亚洲男人天堂2018| 欧美中文字幕无线码视频| 国产情侣一区二区三区| 2022精品国偷自产免费观看| 无码高清专区| 91无码人妻精品一区二区蜜桃| 毛片久久久| 久99久热只有精品国产15| 日韩欧美视频第一区在线观看| 亚洲高清免费在线观看| 亚洲综合日韩精品| 四虎综合网| 欧美成人手机在线观看网址| 无码精品国产dvd在线观看9久| 97超爽成人免费视频在线播放| 亚洲一区第一页| 精品免费在线视频| 国产噜噜噜| 全部毛片免费看| 99久久亚洲精品影院| 三上悠亚在线精品二区| 亚洲日韩精品无码专区97| 91一级片| 中文字幕在线播放不卡| 欧美午夜视频| 亚洲精品久综合蜜| 91欧美在线| 国产国模一区二区三区四区| 激情五月婷婷综合网|