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
主站蜘蛛池模板: 久久国产拍爱| 国产成人精品免费av| 国内精品自在欧美一区| 国产在线观看91精品| 亚洲愉拍一区二区精品| av在线手机播放| 高清不卡一区二区三区香蕉| 亚洲av色吊丝无码| 欧美另类第一页| av一区二区无码在线| 日韩中文无码av超清| 又黄又湿又爽的视频| 91青青在线视频| 亚洲人成影院在线观看| 宅男噜噜噜66国产在线观看| 激情影院内射美女| 九色在线视频导航91| 99re这里只有国产中文精品国产精品 | 国内精品久久久久鸭| 国产啪在线91| 亚洲综合天堂网| 亚洲精品在线影院| 99999久久久久久亚洲| 日韩高清中文字幕| 欧美怡红院视频一区二区三区| 亚洲无码精品在线播放 | 天天色天天综合| 亚洲性影院| 欧美亚洲香蕉| 手机精品视频在线观看免费| 亚洲天堂日本| 免费一级无码在线网站| 亚洲VA中文字幕| 国产欧美亚洲精品第3页在线| 国产肉感大码AV无码| 1769国产精品视频免费观看| 亚洲色无码专线精品观看| 中文字幕 欧美日韩| 精品无码一区二区三区在线视频| 国产尹人香蕉综合在线电影 | 中文字幕亚洲电影| 日韩免费视频播播| 日韩欧美91| 亚洲无码不卡网| 亚洲va在线∨a天堂va欧美va| 亚洲色图综合在线| 香蕉视频在线观看www| 中文字幕乱码二三区免费| 国产91视频免费观看| 欧美人与性动交a欧美精品| 国产aaaaa一级毛片| 亚洲天堂福利视频| 欧美一区日韩一区中文字幕页| 成人一级免费视频| 青青青国产视频| 麻豆国产精品视频| 激情综合网激情综合| 综合久久五月天| 国产成人av大片在线播放| a亚洲视频| 一级毛片在线免费视频| 欧美日韩综合网| 一本久道久久综合多人| 国产成人无码AV在线播放动漫| 综合色在线| 国产三级国产精品国产普男人| 久996视频精品免费观看| 人妻中文字幕无码久久一区| 99人体免费视频| 538国产视频| 青青青国产免费线在| 欧美伊人色综合久久天天| 亚洲AV无码精品无码久久蜜桃| 性欧美在线| 免费看av在线网站网址| 亚洲A∨无码精品午夜在线观看| 久久午夜夜伦鲁鲁片不卡| 国产福利微拍精品一区二区| 亚洲天堂精品视频| 欧美成人aⅴ| 亚洲另类国产欧美一区二区| 国产va视频|