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.

主站蜘蛛池模板: 欧美福利在线播放| 久久久久青草大香线综合精品 | 国产区精品高清在线观看| 久久久久久久久亚洲精品| 97se亚洲| 国产麻豆91网在线看| 五月婷婷导航| 亚洲另类国产欧美一区二区| 欧美日韩资源| 9999在线视频| A级毛片高清免费视频就| 亚洲电影天堂在线国语对白| 精品乱码久久久久久久| 国产第二十一页| 天堂av综合网| 亚洲最大综合网| 色妞www精品视频一级下载| 成人午夜福利视频| 高潮毛片无遮挡高清视频播放| 国产黑丝一区| 亚洲国产清纯| 91精选国产大片| 精品黑人一区二区三区| 国产日韩精品一区在线不卡| 91蜜芽尤物福利在线观看| 波多野结衣二区| 狠狠色丁香婷婷综合| 在线播放真实国产乱子伦| 国产亚洲成AⅤ人片在线观看| 中文字幕av无码不卡免费| 无码中文字幕精品推荐| 亚洲男人的天堂视频| 亚洲欧美天堂网| 色综合久久无码网| 国产欧美精品午夜在线播放| 亚洲美女一级毛片| 国产尤物视频网址导航| 国产国语一级毛片| 成年人免费国产视频| 狠狠色婷婷丁香综合久久韩国| 在线观看网站国产| 国产成人成人一区二区| 亚洲一区二区日韩欧美gif| 欧美在线网| 中文字幕在线视频免费| a级毛片在线免费| 波多野结衣第一页| 最新精品久久精品| 欧美日韩资源| 国产迷奸在线看| 亚洲成人高清在线观看| 特级毛片免费视频| 99成人在线观看| 真实国产精品vr专区| 欧亚日韩Av| 高清亚洲欧美在线看| 自拍欧美亚洲| 亚洲高清资源| 欧美国产菊爆免费观看| 另类综合视频| 99热这里只有精品在线播放| 视频在线观看一区二区| 国产成人精品日本亚洲| 日本欧美午夜| 国产三级a| 成人免费网站久久久| 亚洲无码高清视频在线观看| 久久亚洲国产最新网站| 欧美一级99在线观看国产| 91小视频在线| 国产一线在线| 国产精品19p| 在线日本国产成人免费的| 看av免费毛片手机播放| 国产黄色免费看| 日韩视频精品在线| 欧美一区二区丝袜高跟鞋| 一级毛片a女人刺激视频免费| 欧美成人国产| 亚洲国产一成久久精品国产成人综合| 女人18毛片水真多国产| 福利小视频在线播放|