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

電源專業英語詞匯系統NHibernate持久層設計

2015-01-16 05:26:52張鵬張聯
電子設計工程 2015年11期
關鍵詞:詞匯數據庫設計

張鵬,張聯

(渤海大學 外國語學院,遼寧 錦州 121013)

隨著經濟快速發展,人民群眾物質文化水平不斷提高,電能的應用遠遠超過了人們的傳統認識范圍,成為科學技術發展和國民經濟飛躍的主要動力,持續地改變著人們的生活[1]。電源是向設備提供電能的裝置,也稱電源供應器。隨著電力行業的發展,電源的種類越來越多,從國外引進的先進技術也越來越多,因此涉及的英文專業詞匯也越來越多,這些詞匯的學習、記憶和使用成為工程技術人員的難題。建立專業詞匯系統,用對電源的分類方式對詞匯進行分類,便于電源工程技術人員有選擇地按自己的專業方向進行學習。

持久化(Persistence)是把數據保存到可掉電式存儲設備中供以后使用。持久層是在系統邏輯層面上用于實現數據持久化的一個相對獨立的領域,是對數據庫中的數據進行存儲、檢索、更新和刪除的一組類和組件[2]。持久層設計是軟件開發的基礎性工作,本文基于.NET平臺的NHibernate技術對電源專業詞匯系統進行持久層設計,為系統開發提供技術支持。

1 數據存儲結構設計

電源按大類可分為普通電源和特種電源[3-5],普通電源又可分為開關電源、逆變電源、交流穩壓電源、變壓器電源等小類;特種電源又可分為高壓電源、醫療電源、軍用電源、航空航天電源、激光電源等小類。根據電源分類,將電源專業詞匯系統的數據存儲設計為“電源大類表(PowerBigCateg)”、“電源小類表 (Power Small Categ)”和 “電源專業詞匯表(Prof Vocabulary)”三個表。表之間存在兩個“一對多”聯系,即“電源大類表”和“電源小類表”實體之間是一對多聯系,一個電源大類包括多個電源小類,一個電源小類只能屬于一個電源大類;“電源小類表”和“電源專業詞匯表”之間是一對多聯系,一個電源小類包括多個電源專業詞匯,一個電源專業詞匯只能屬于一個電源小類。“電源大類表”主鍵為“大類代碼”字段。“電源小類表”主鍵為“小類代碼”字段,“大類代碼”字段為與 “電源大類表”一對多聯系相對應的外鍵(FK_BigCateg_SmallCateg)。 “電源專業詞匯表”主鍵為“詞匯代碼”字段,“小類代碼”字段為與“電源小類表”一對多聯系相對應的外鍵(FK_SmallCateg_ProfVocabulary)。根據以上的分析,基于Microsoft SQL Server 2005數據庫管理系統設計的系統數據結構及關系圖如圖1所示。

圖1 系統數據結構及關系圖Fig.1 Data structure and relationship diagram of system

2 NHibernate體系結構

對象關系映射(O/RM,Object-Relation Mapping)是把在數據庫中直接進行的原始操作,演變為對類的屬性和方法的操作,是為了解決面向對象程序設計與關系數據庫之間存在不匹配的矛盾而產生的技術,程序員可以采用非常簡單的方式將程序中的對象自動持久化到關系數據庫中。NHibernate是.NET領域流行的O/RM框架,NHibernate起源于Hibernate。Hibernate是基于JAVA平臺的對象關系映射框架,由于Hibernate取得的巨大成功,Microsoft運用其基本思想開發了NHibernat,是基于.NET平臺的對象關系映射框架[6]。NHibernat框架體系結構如圖2所示。

圖2 NHibernate框架體系結構Fig.2 NHibernate framework architecture

從圖2中可以看出,NHibernate處于Database和Application之間,為應用程序提供持久化對象到數據庫的服務。NHibernate通過分離Database和Application,使應用程序的可移植性得以實現。對圖2中的主要組成元素描述如下:持久化操作(Persistence operations)使用3種查詢機制,分別是 HQL Query、QBC Query和 Native SQL Query; 配置文件(Configuration file)主要是用來配置一些全局性參數;映射文件(Mapping file)以class為核心元素,規定類與庫表的映射,子元素用于規定類屬性與庫表字段之間的映射;會話(Session)和會話工廠(Session factory)則是面向對象模型與關系模型之間運行時的連接紐帶;事務處理(Transaction processing)實現對底層 ADO.NET、ODBC、OLEDB 的相關 API進行了封裝。

3 實體類設計

持久化類(Persistent class)是指其實例需要被 Hibernate持久化到數據庫中的類。Hibernate板需要為數據庫中的每一個表編寫一個持久化類,為每個持久化屬性聲明訪問器(getters和 setters)由于屬性不一定需要聲明為public,可以對 default、procted、internal、private 的屬性一樣進行持久化。必須提供一個不帶參數的默認構造方法,訪問級別是public或protected類型。持久化類中所有的屬性,必須聲明為非密封的,也就是不能帶有sealed。持久類不需要繼承NHibernate的類或實現NHibernate接口,提高了持久化類的獨立性[7-8]。由于持久化類具有規范性和規律性,因此可以使用代碼生成工具根據表結構自動生成,無需開發人員手工編寫類代碼。由于持久化類的代碼較多,受文章篇幅所限,本文只給出“電源小類表(PowerSmallCateg)”的持久化類設計,代碼如下:

using System;

namespace NHibernate.Demo.PowerVocabulary

{

public class PowerSmallCateg

{

//對象屬性

private Int16 DigitalCode;

private String PinyinCode;

private String SmallCategName;

private String SmallCategCode;

private String BigCategCode;

//屬性函數

public Int16 DigitalCode

{get{return DigitalCode;}

set{DigitalCode=value;}

}

public String PinyinCode

{get{return PinyinCode;}

set{PinyinCode=value;}

}

public String SmallCategName

{get{return SmallCategName;}

set{SmallCategName=value;}

}

public String SmallCategCode

{get{return SmallCategCode;}

set{SmallCategCode=value;}

}

public String BigCategCode

{get{return BigCategCode;}

set{BigCategCode=value;}

}

}

}

4 映射文件設計

NHibernate每個持久化類都有與之相對應的映射文件,通過映射文件,將數據表中的記錄轉化為對象,將記錄中的字段轉化為對象的屬性。映射文件除描述了NHibernate運行時需要的元素類型和屬性外,還包含額外的元素屬性,如被映射字段是否允許為空等。所有映射文件均使用nhibernatemapping-2.0 schema。通常的NHibernate映射文件和類名相同,擴展名為“hbm.xml”。映射文件由實體映射和關聯映射兩部分構成。

1)實體映射,建立關系型數據庫中的表和程序中的業務類之間的對應關系,包括“表名——類名”映射、“主鍵”映射和“字段——屬性”映射。“表名——類名”映射使用

2)關聯映射,對表之間的關聯關系進行映射,包括“一對一”模式、“一對多”模式、“多對一”模式和“多對多”模式。其中,“一對一”模式使用

中都通過

“電源小類表(PowerSmallCateg)”表的映射文件設計如下:

5 訪問數據庫設計

API(Application Programming Interface,應用程序編程接口)是操作系統提供的預先定義好的一組函數,包含在Windows系統目錄下的動態連接庫文件中。.NET平臺應用NHibernate的API來訪問數據庫,使得開發人員無需訪問源碼,無需要理解內部工作機制的細節,就能完成對數據庫的Query、Insert、Update、Delete 等操作[9]。 NHibernate API訪問數據庫操作設計的一般流程如圖3所示。

圖3 NHibernate訪問數據庫操作Fig.3 NHibernate access to the database operation

NHibernate API訪問數據庫操作設計分四步:一是,通過“new Configuration()”創建一個 Configuration 對象,解析所有.NET對象與數據庫的映射關系;二是,通過“config.BuildSessionFactory ()” 創建 SessionFactory, 通過“factory.OpenSession()”方法來獲取 Session實例;三是,通過調用Session 接口操作數據庫的“Save()、Update()、Delete()、Load()、Find()”等方法實現對象與關系數據庫之間的交互;四是,無論事務執行成功或失敗,都調用close()方法釋放Session實例占用的資源。

6 結束語

提出獨立的“持久層”的概念,是因為封裝了數據訪問的細節,與系統其他部分具有較為清晰和嚴格的邏輯邊界。NHibernate對數據庫結構提供了較為完整的封裝,將數據庫模式映射為較完全的對象模型,支持封裝和繼續機制,功能較強大,比一般的ORM靈活性高。本文基于NHibernate框架設計電源專業詞匯系統的持久層,開發人員可以完全按照對象模型操縱數據庫,為快速軟件開發奠定了基礎。本軟件的開發與應用,對電源專業工程技術人員掌握學習英文專業技術詞匯并提高專業技術水平具有重要作用。

[1]百度文庫.電能對生產生活的影響 [EB/OL].http://wenku.baidu.com/link?url=q6HK6nozl8MUTrrvMGF7zg1dP4uGX-4DY3j4Aw9Gesk-8xuywsAkUnq8WrokaYwrpLDhJ7TBwcLb zxA5E11oqXHvCAM2RJog-exwGkV10kC,2014-9-11.

[2]鄧廣勝.基于NHibernate的SaaS管理平臺研究與應用[D].安徽:合肥工業大學,2013.

[3]史平君.特殊而應用廣泛的電源—特種電源[J].電源技術應用,2010,13(6):1-7.SHI Ping-jun.Special power supply:a special and widely used power[J].Application of Power Technology,2010,13(6):1-7.

[4]百度百科.電源[EB/OL].http://baike.baidu.com/view/13542.htm?fr=aladdin,2014-9-1.

[5]Gregor Dolanc,Darko Belavi?,Marko Hrovat,et al.iature fuel reformer system for portable power sources[J].Journal of Power Sources,2014,271(20):392-400.

[6]王明倩,劉立強,王宏宇.ORM技術——Nhibernate在考務管理系統中的應用研究[J].長春工業大學學報:自然科學版,2009,30(3):352-356.WANG Ming-qian,LIU Li-qian,WANG Hong-yu.Application of ORM Nhibernate in the exam administration system[J].JournalofChangchun University ofTechnology:Natural Science Edition,2009,30(3):352-356.

[7]王培培,張云華.基于ASP.NET的醫療設備管理系統設計[J].電腦編程技巧與維護,2013,20(8):83-85.WANG Pei-pei,ZHANG Yun-hua.The design of a managerial system of medical equipment based on ASP.NET[J].Computer Programming Skills&Maintenance,2013,20(8):83-85.

[8]呂浩志.基于DWZ、NHibernate和ASP.NET MVC3架構的Web開發應用[J].科技視界,2014,4(5):62-63.LU Hao-zhi.Web development application based on DWZ,NHibernate and ASP.NET MVC3 framework[J].Science&Technology Vision,2014,4(5):62-63.

[9]蘇芬平,劉更,王海偉.數據庫管理系統持久層的Hibernate解決方案[J].計算機工程與設計,2008,29(12):2991-2997.SU Fen-ping,LIU Geng,WANG Hai-wei.Hibernate solution for DBMS persistence layer[J].Computer Engineering and Design,2008,29(12):2991-2993.

猜你喜歡
詞匯數據庫設計
本刊可直接用縮寫的常用詞匯
一些常用詞匯可直接用縮寫
山東醫藥(2020年34期)2020-12-09 01:22:24
本刊可直接用縮寫的常用詞匯
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 丁香亚洲综合五月天婷婷| 91久久国产综合精品女同我| 国产乱视频网站| 久久性妇女精品免费| 欧美高清国产| 欧美在线精品一区二区三区| 亚洲 成人国产| 亚洲免费毛片| 亚洲日韩每日更新| 国模私拍一区二区三区| 亚洲无码高清免费视频亚洲 | 波多野结衣亚洲一区| 成人免费网站久久久| 国产毛片基地| 国产成人亚洲精品无码电影| 日韩天堂在线观看| 免费一级毛片在线观看| 三级欧美在线| 亚洲av无码片一区二区三区| 国产va免费精品| 欧美午夜小视频| 狼友av永久网站免费观看| 欧美日韩亚洲综合在线观看| 亚洲天堂日韩在线| 日本人又色又爽的视频| 免费看av在线网站网址| 国产网站免费| 一本大道无码高清| 久久综合成人| 国产在线八区| 免费一级α片在线观看| 一级毛片在线播放免费| 国产精品播放| 久久婷婷色综合老司机| 高潮毛片免费观看| 久久综合干| 日本不卡视频在线| 久久免费视频6| 精品剧情v国产在线观看| 色综合久久88| 日本欧美成人免费| 国产毛片一区| 在线国产91| 伊人久久精品无码麻豆精品| 国产欧美性爱网| 久久五月天国产自| 99在线小视频| 成人免费午夜视频| 亚洲免费成人网| 久久a级片| 欧美区一区| 国产麻豆精品手机在线观看| 国产亚洲欧美在线视频| 波多野结衣中文字幕一区| 波多野结衣一区二区三区四区视频| 成人在线欧美| 欧美日韩国产在线播放| 欧美一级在线| 国产欧美高清| 97在线免费视频| 亚洲国产综合第一精品小说| 国产精品美女自慰喷水| 精品撒尿视频一区二区三区| 亚洲首页在线观看| 亚洲第一中文字幕| 97在线国产视频| 亚洲成人在线免费| 美女视频黄频a免费高清不卡| 亚洲男人的天堂在线观看| 久久青青草原亚洲av无码| 国产主播喷水| 国产永久无码观看在线| 亚洲天堂日韩av电影| 不卡无码h在线观看| 免费女人18毛片a级毛片视频| 国产精品9| 午夜啪啪福利| 精品福利一区二区免费视频| 日韩成人在线视频| 久久夜夜视频| 谁有在线观看日韩亚洲最新视频 | 少妇被粗大的猛烈进出免费视频|