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

湘西農副產品網絡平臺系統持久層的設計

2015-05-30 13:22:14段強
中國新通信 2015年24期
關鍵詞:網絡平臺數據庫系統

段強

湘西農副產品網絡平臺這個項目初期是作為一個中小型的垂直行業電子商務平臺而進行設計的,但是在項目的設計需求中明確提出了要考慮到日后要能方便升級為大型的網絡平臺,同時在系統架構的概念性設計中也特別關注了這個問題。因此后續的開發工作中,在對數據層的設計上,我們細化出了一個在數據庫層之上的一個持久層來處理。

一、為何選用持久層

持久層是實現數據持久化的一個邏輯上的層次。數據持久化就是對系統中的數據固化到硬盤等物理存儲器中的一個過程。最大眾化的情況,就是通過某些程序設計語言把從軟件界面取得的數據保存到數據庫中的一個過程。

使用數據庫對數據進行管理,效率最高的方法就是直接使用SQL語句。但是在主流的OOP編程語言平臺中,都不可避免地會把SQL語言和編程語言混雜在一起,即使程序員經過了精心設計,也依舊如此。本項目計劃使用JAVA作為開發平臺,同樣面臨相同的情況。但是這樣的做法,在提高了軟件效率的同時,卻犧牲了軟件的可修改性,尤其是在數據庫層更新為大型數據庫或分布式數據庫時,需要重新編寫的代碼將不亞于重新開發所需要的代碼量。

二、如何設計持久層

在使用JAVA開發的軟項目中,其業務對象大體上可以分成普通的Java對象和持久對象。普通的Java對象用于控制、邏輯處理等業務,而持久對象則用于對數據庫中的數據實體進行映射。從功能上說,如果要在數據庫中插入一條記錄,則大致等同于將一個持久對象進行初始化,而在數據庫中刪除一條記錄,則等同于將這個持久對象賦值為NULL,且清理內存。可以說,數據持久化之后的結果是數據庫中存在真實的數據記錄,而數據持久層中的數據則是存儲在可掉電設備(例如內存)中的對應數據庫中數據的一些映射。

在代碼編寫階段,最原始的使用持久層的技術就是一些簡單的代碼編寫工作,但是在企業級的開發中,就必須將對象-關系的映射(Object-Relation Mapping,ORM)框架與持久層的開發結合起來考慮了。

在本系統的設計中,出于對高可修改性的需求的滿足來考慮,我們對數據的處理采取了以下幾個步驟:1、使用DAO設計模式將底層的數據庫訪問和高層的業務邏輯分離,利用DAO模式提供的接口實現對數據庫的查詢、刪除等操作;2、采用工廠方法(Factory Method)設計模式設計類和接口,并實現系統接口來實現底層對象的訪問;3、充分利用面向對象程序設計中的繼承的概念,設計各種持久對象的子類,以便方便地將數據庫中的各種表中的記錄轉換為各種值對象來訪問。

就目前預期的系統使用而言,以上3個步驟的設計和實現完全依靠手工編寫代碼是綽綽有余了。可是倘若本軟件系統日后的數據庫處理需求升級或功能需求進行了拓展后,我們將無法避免DAO模式中對于1對多(1:N)關系處理的弊端:對于1:N關系的持久對象的查詢隨著數據的拓展變成了1+N次SQL語句的執行,直接導致代碼的出現大量的重復執行,最終將導致系統可修改性完全喪失。這就不得不讓我們選擇一個較為可行的開發框架作為我們數據持久層設計的基礎,其目的在于提高系統的可修改性。最終我們選定Hibernate作為本軟件系統持久層開發工具。

Hibernate的工作機制如圖1所示。使用Hibernate之后,編寫在業務邏輯層中的代碼通過Hibernate提供的API來操作數據這對代碼的編寫工作來說是相當有利的。下面以用戶基本信息表中的部分信息為例,概要闡述如何應用Hibernate設計一個持久化類,然后使用這個類的任意實例完成對應的任務。創建最終用戶信息的持久化類時,該類的屬性必須與數據庫中表的字段存在1:1的映射關系,還需要設置一個類似print()方法作為輸出的接口。在本例中,類的類圖如圖2所示。

類的設計完成后,需要在的是將數據庫中的表與這個類的對象產生聯系。為了實現這個目標,只需要編寫一個映射文件以實現數據庫中的數據和類的映射。之后繼續完成Hibernate的配置文件hibernate.cfg.xml中相應的內容即可。接下來是編寫Hibernate的配置文件hibernate.cfg.xml。該文件的部分內容如表5.2所示。

三、如何應用持久層的設計

在完成了以數據持久層的配置和設計工作以后,就可以專注于在建邏輯層中設計不同的類來實現各種功能了。例如,如果設計用戶注冊功能的類,其核心代碼如表1所示。

小結:數據持久層的設計及其實現是有關系統效率、安全和可修改性等一系列質量屬性優劣與否的重要工作。在軟件架構的概念設計中需要考慮這個問題,在軟件架構的實際設計中需要在技術選型、開發平臺等技術細節中對此設計予以實現。但是這仍然是粗粒度的設計,但是已經可以為具體完成代碼編寫的工作人員提供開發依據了。

猜你喜歡
網絡平臺數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
一種基于5G網絡平臺下的車險理賠
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
網絡平臺補短板 辦學質量穩提升
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
網絡平臺打開代表履職新視窗
人大建設(2017年11期)2017-04-20 08:22:46
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 欧美高清国产| 国产精品天干天干在线观看| 成人日韩精品| 亚洲第一极品精品无码| WWW丫丫国产成人精品| 欧美一级高清免费a| 国产久草视频| 久久久久久久97| 亚洲精品男人天堂| 亚洲精品免费网站| 青草免费在线观看| 日本人妻一区二区三区不卡影院| 色综合a怡红院怡红院首页| 亚洲三级视频在线观看| 国产在线视频欧美亚综合| 日本尹人综合香蕉在线观看| 91精品国产一区| 国产成人高清精品免费5388| 91在线中文| 欧美日韩国产精品va| 四虎影视8848永久精品| 天天色天天操综合网| 国产视频一区二区在线观看| 国产精品白浆在线播放| 在线观看国产网址你懂的| 色妞www精品视频一级下载| 在线观看国产黄色| 亚洲日韩欧美在线观看| 国产福利一区视频| 国产午夜看片| 视频国产精品丝袜第一页| 久久成人免费| 狠狠做深爱婷婷久久一区| 欧美yw精品日本国产精品| 国产午夜无码专区喷水| www.亚洲一区| 男人天堂伊人网| 99精品热视频这里只有精品7| 亚洲婷婷在线视频| 日本人妻一区二区三区不卡影院| 特级精品毛片免费观看| 香蕉精品在线| 欧美日韩国产成人高清视频| 朝桐光一区二区| 欧美视频在线不卡| 91无码国产视频| 色婷婷成人| 亚洲成AV人手机在线观看网站| 日韩成人免费网站| 国产乱人伦AV在线A| 中文字幕在线观看日本| 99精品视频播放| 美女视频黄频a免费高清不卡| 亚洲欧美在线综合图区| 日韩免费毛片视频| 伊人久久影视| 91www在线观看| 一级毛片在线直接观看| 亚洲成a人在线播放www| 中日韩一区二区三区中文免费视频 | 91久久大香线蕉| 亚洲第一成年人网站| 成人午夜精品一级毛片| 伊人久久综在合线亚洲2019| 色综合手机在线| 99九九成人免费视频精品| 国产人人乐人人爱| 77777亚洲午夜久久多人| 欧美三级不卡在线观看视频| 成人免费视频一区| 国产高颜值露脸在线观看| 欧美日韩精品在线播放| 99re在线免费视频| 亚洲欧美成人综合| 青青草原国产免费av观看| 一本大道视频精品人妻 | 免费观看男人免费桶女人视频| 中文字幕丝袜一区二区| yjizz视频最新网站在线| 青青青国产视频| 亚洲成人网在线观看| 亚洲天堂2014|