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
主站蜘蛛池模板: 欧美一级在线看| 视频一本大道香蕉久在线播放| 精品福利国产| 亚洲欧美综合另类图片小说区| 国产成人成人一区二区| 久久综合国产乱子免费| 久久毛片网| 久久五月视频| 国产成人a在线观看视频| 日韩精品无码免费一区二区三区 | 伊人无码视屏| www.精品国产| 亚洲中文无码av永久伊人| 欧美一级高清片欧美国产欧美| 麻豆AV网站免费进入| 一本大道香蕉久中文在线播放 | 国产夜色视频| 自拍偷拍欧美| 成·人免费午夜无码视频在线观看| 成人免费午夜视频| 好吊色妇女免费视频免费| 97免费在线观看视频| 国产真实乱了在线播放| 亚洲国产综合自在线另类| 丁香亚洲综合五月天婷婷| 亚洲va精品中文字幕| 亚洲永久免费网站| 在线观看国产精美视频| 国产精品爽爽va在线无码观看| 亚洲综合二区| 亚洲欧美精品在线| 国产成人在线无码免费视频| 欧美精品成人一区二区在线观看| 亚洲大尺码专区影院| 激情国产精品一区| 亚洲人成影院在线观看| 福利姬国产精品一区在线| 国产综合另类小说色区色噜噜| 亚洲AV成人一区二区三区AV| JIZZ亚洲国产| 99国产精品一区二区| 亚洲—日韩aV在线| 国产激情在线视频| 亚洲精品少妇熟女| 亚洲无码视频一区二区三区| 嫩草在线视频| 国产精鲁鲁网在线视频| 久热中文字幕在线| 黄色三级网站免费| 国产手机在线小视频免费观看| 亚洲精品老司机| 亚洲高清中文字幕在线看不卡| 毛片一级在线| 国内精品视频区在线2021| 亚洲日韩国产精品综合在线观看| 97成人在线观看| 99这里只有精品6| 国产网友愉拍精品| 国产精品永久在线| 成人午夜免费观看| 日本成人一区| 日韩午夜片| 国产电话自拍伊人| 日本www在线视频| 久久久91人妻无码精品蜜桃HD| 欧美精品v| 天天摸夜夜操| 99热这里只有精品在线观看| 亚洲人人视频| 99久久99视频| 亚洲精品桃花岛av在线| 国产精品福利社| 成人福利一区二区视频在线| 91精品专区| 亚洲美女视频一区| 亚洲国产亚综合在线区| 欧美97色| 亚洲国产成熟视频在线多多 | 热思思久久免费视频| 日韩天堂在线观看| 一级一级一片免费| 久久综合亚洲鲁鲁九月天|