国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MVC公眾賬號(hào)交互平臺(tái)的數(shù)據(jù)庫(kù)開(kāi)發(fā)

2017-06-05 16:07:10王家隆
電子技術(shù)與軟件工程 2017年7期
關(guān)鍵詞:數(shù)據(jù)庫(kù)微信

王家隆

摘 要 公共賬號(hào)交互平臺(tái)的設(shè)計(jì)主要是基于MVC框架設(shè)計(jì)模式,也就是模型-視圖-控制器的模式,采用的是SSH框架(Strut-Spring-Hibernate),在系統(tǒng)開(kāi)發(fā)過(guò)程中,用Strut來(lái)負(fù)責(zé)針對(duì)表現(xiàn)層傳來(lái)的request根據(jù)servlet和service做出對(duì)應(yīng)的response;Hibernate用于實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的封裝和操作。本論文首先對(duì)微信公共平臺(tái)的現(xiàn)狀和發(fā)展做出了介紹,接下來(lái)會(huì)重點(diǎn)介紹本論文重點(diǎn)研究的內(nèi)容,也就是整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程的數(shù)據(jù)庫(kù)的設(shè)計(jì)和實(shí)現(xiàn)。最后,會(huì)得出對(duì)本次系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)的總結(jié)和展望。

【關(guān)鍵詞】MVC Hibernate 微信 數(shù)據(jù)庫(kù)

隨著信息化、網(wǎng)絡(luò)化時(shí)代的到來(lái),各種社交軟件玲瑯滿目,微信作為一個(gè)通訊社交軟件被廣大用戶使用,越來(lái)越多企業(yè)和個(gè)人運(yùn)用微信開(kāi)發(fā)出自己的個(gè)人項(xiàng)目。對(duì)公共賬號(hào)交互平臺(tái)的開(kāi)發(fā)因?yàn)閺V泛的用戶而具有極高的市場(chǎng)價(jià)值。所謂成功是站在巨人的肩膀上,微信公共賬號(hào)就是現(xiàn)在的一個(gè)巨人,開(kāi)發(fā)者要學(xué)會(huì)利用現(xiàn)有的資源開(kāi)發(fā)出更多更完善的功能。

在眾多項(xiàng)目的設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)扮演者重要的角色,一個(gè)良好的數(shù)據(jù)庫(kù)設(shè)計(jì)能夠充分利用有效的資源去更好的實(shí)現(xiàn)項(xiàng)目,能夠使項(xiàng)目在開(kāi)發(fā)過(guò)程中順利進(jìn)行,也使得項(xiàng)目在開(kāi)發(fā)完成后維護(hù)和擴(kuò)展方面具有更好的優(yōu)勢(shì),設(shè)計(jì)不好數(shù)據(jù)庫(kù)可能讓項(xiàng)目在開(kāi)發(fā)中增加不必要的障礙,也使得系統(tǒng)維護(hù)和擴(kuò)展收到阻擾。一般課題針對(duì)公共賬號(hào)平臺(tái)系統(tǒng)的開(kāi)發(fā)過(guò)程進(jìn)行分析和研究,主要包括從了解目前微信公共平臺(tái)的開(kāi)發(fā)現(xiàn)狀到整個(gè)系統(tǒng)實(shí)現(xiàn)過(guò)程中數(shù)據(jù)庫(kù)設(shè)計(jì)的全部?jī)?nèi)容。其中包括數(shù)據(jù)庫(kù)設(shè)計(jì)的六個(gè)階段,第一是針對(duì)系統(tǒng)在數(shù)據(jù)、功能和性能等三方面對(duì)需求進(jìn)行分析;第二是數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)主要是E-R模型與E-R圖;第三是邏輯結(jié)構(gòu)設(shè)計(jì),也就是將E-R圖轉(zhuǎn)換成關(guān)系表的過(guò)程;第四是數(shù)據(jù)庫(kù)的物理設(shè)計(jì),包括數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)與存取路徑,數(shù)據(jù)的劃分與分布等;第五是對(duì)數(shù)據(jù)庫(kù)的實(shí)現(xiàn),主要有編程、測(cè)試和試運(yùn)行三個(gè)方面;最后是對(duì)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù),包括了監(jiān)控與分析、備份和恢復(fù)、重組織與重構(gòu)造、安全性控制與完整性控制。本文主要對(duì)數(shù)據(jù)庫(kù)的物理實(shí)現(xiàn)和數(shù)據(jù)庫(kù)的實(shí)現(xiàn)做詳細(xì)研究。

公共平臺(tái)交互系統(tǒng)是以ROM為主要設(shè)計(jì)思路、Hibernate為設(shè)計(jì)框架設(shè)計(jì)實(shí)現(xiàn)的。在項(xiàng)目中引入了hibernate.cfg.xml配置文件實(shí)現(xiàn)了對(duì)數(shù)據(jù)庫(kù)的連接,數(shù)據(jù)庫(kù)使用的是MySql,在開(kāi)發(fā)過(guò)程中,編寫(xiě)了.java類和.hbm.xml的映射文件來(lái)實(shí)現(xiàn)程序與數(shù)據(jù)庫(kù)的操作和交互。

1 數(shù)據(jù)庫(kù)實(shí)體設(shè)計(jì)

公共賬號(hào)交互平臺(tái)采用的數(shù)據(jù)庫(kù)是MySql,在數(shù)據(jù)庫(kù)中建立了一個(gè)名為michat的數(shù)據(jù)庫(kù),michat是我們項(xiàng)目的Might Chat的簡(jiǎn)稱,中文名稱為威信。Michat數(shù)據(jù)庫(kù)包含了依照需求分析在本系統(tǒng)中有兩種用戶,一種是管理員用戶,一種是關(guān)注了公共賬號(hào)交互平臺(tái)的粉絲,其中管理員用戶只定義了一個(gè)用戶,因?yàn)楣芾韱T不存在注冊(cè)等功能,所以在數(shù)據(jù)庫(kù)中并沒(méi)有設(shè)計(jì)管理員的表格。數(shù)據(jù)庫(kù)中定義粉絲、活動(dòng)、消息,接下來(lái)以粉絲數(shù)據(jù)和管理員為例具體介紹實(shí)體關(guān)系模型。

粉絲數(shù)據(jù)實(shí)體:粉絲實(shí)體包含了很多內(nèi)容,包括粉絲ID、粉絲的昵稱、粉絲的頭像、粉絲所在的分組、粉絲是否關(guān)注了公共賬號(hào)、粉絲的性別、所在的國(guó)家、所在省份、所在城市、粉絲的游戲、活動(dòng)情況、健康狀態(tài)、關(guān)注公共賬號(hào)的時(shí)間和粉絲目前的狀態(tài)。因?yàn)楣操~號(hào)提供了眾多的功能,所以粉絲的實(shí)體包含的內(nèi)容很多。

管理員數(shù)據(jù)實(shí)體:包含了管理員的ID、用戶名、管理員的頭像和密碼。主要用于儲(chǔ)存管理員的相關(guān)數(shù)據(jù)。

數(shù)據(jù)庫(kù)實(shí)體間的關(guān)系:在公共賬號(hào)交互平臺(tái)中,粉絲能夠查看多個(gè)消息包括三個(gè)類型有微新聞、服裝和美食,三種形式消息也能同時(shí)被多個(gè)粉絲查看。粉絲能夠通過(guò)輸入自己的用戶名等信息生成帶有自己填入信息的二維碼,通過(guò)掃描二維碼可以獲得粉絲輸入的信息,每個(gè)粉絲能生成多個(gè)二維碼,但是一個(gè)二維碼上面只能夠攜帶一個(gè)粉絲的信息。粉絲能夠參與微游戲,微游戲?yàn)橥P(guān)游戲,只有通過(guò)上一道關(guān)卡才能進(jìn)入下一個(gè)關(guān)卡,游戲?qū)嶓w指的是游戲過(guò)程中的游戲關(guān)卡,所以每個(gè)粉絲能夠玩多個(gè)游戲,并且游戲能同時(shí)供多個(gè)粉絲娛樂(lè)。粉絲能參與三種活動(dòng),粉絲可以參與多個(gè)線下活動(dòng),但是不能同時(shí)參與兩個(gè)或兩個(gè)以上的線下活動(dòng),粉絲能參與多個(gè)投票活動(dòng),但是對(duì)于已經(jīng)投票的活動(dòng)不能再次投票,粉絲能參與討論活動(dòng),討論活動(dòng)不受限制,只要發(fā)布的評(píng)論文明。三種活動(dòng)都是允許多個(gè)粉絲同時(shí)參與的。

2 數(shù)據(jù)庫(kù)表設(shè)計(jì)

表的詳細(xì)設(shè)計(jì):數(shù)據(jù)庫(kù)中表的設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)中最重要的部分,良好的表設(shè)計(jì)能夠充分利用數(shù)據(jù)庫(kù)的資源,出現(xiàn)較少數(shù)據(jù)之間的冗余,并且能夠做到儲(chǔ)存數(shù)據(jù)的完整性和統(tǒng)一性,沒(méi)有良好設(shè)計(jì)的數(shù)據(jù)庫(kù)可能會(huì)出現(xiàn)大量運(yùn)用資源卻得不到好的利用率。在數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程中也要注意數(shù)據(jù)的安全性保護(hù),不能為了減少數(shù)據(jù)冗余而出現(xiàn)數(shù)據(jù)的遺漏。

公共賬號(hào)交互平臺(tái)的角色有粉絲和管理員兩種,對(duì)于粉絲這個(gè)角色擁有太多的屬性和操作,如果將所有表項(xiàng)放在一塊不符合數(shù)據(jù)庫(kù)的設(shè)計(jì)原則,所以項(xiàng)目中設(shè)計(jì)了三個(gè)跟粉絲有關(guān)的表,一個(gè)用于存放跟粉絲有關(guān)的屬性,例如粉絲的ID、昵稱、頭像等;一個(gè)存放微活動(dòng)和健康等操作中需要用到粉絲的相關(guān)屬性,例如粉絲的狀態(tài)、粉絲的健康養(yǎng)成等;最后一個(gè)是為微游戲提供的專用表,主要是存放粉絲的相關(guān)屬性和粉絲的微游戲狀態(tài)。以粉絲表設(shè)計(jì)為例重點(diǎn)描述。

3 總結(jié)

本文主要介紹了公共賬號(hào)交互平臺(tái)開(kāi)發(fā)過(guò)程中的數(shù)據(jù)庫(kù)的設(shè)計(jì)原理、要求和具體的設(shè)計(jì)。在整個(gè)設(shè)計(jì)過(guò)程中要注意實(shí)體間的關(guān)系,實(shí)體與表之間的映射,最為重要的是表的設(shè)計(jì),要注意表與表之間的邏輯關(guān)系,要留心外鍵的設(shè)計(jì)和使用,還有再最開(kāi)始設(shè)計(jì)時(shí)一定要注意編碼方式的統(tǒng)一。本章還簡(jiǎn)單介紹了數(shù)據(jù)庫(kù)實(shí)現(xiàn)的過(guò)程,介紹了在公共賬號(hào)交互平臺(tái)系統(tǒng)中數(shù)據(jù)庫(kù)實(shí)現(xiàn)遇到的一些困難和注意事項(xiàng)。整體而言,數(shù)據(jù)庫(kù)的設(shè)計(jì)是一個(gè)細(xì)心、縝密的工作,需要開(kāi)發(fā)者能夠全面的考慮問(wèn)題。

作者單位

上海交通大學(xué) 上海市 200433

猜你喜歡
數(shù)據(jù)庫(kù)微信
微信
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
微信
微信
微信
塔城市| 南靖县| 浙江省| 镇巴县| 江门市| 古浪县| 仁寿县| 威远县| 凌海市| 上高县| 平阳县| 金沙县| 三河市| 汝城县| 桦川县| 遂昌县| 苏尼特左旗| 怀化市| 迭部县| 聂拉木县| 高台县| 宁乡县| 栾川县| 阳朔县| 石狮市| 连城县| 延吉市| 方山县| 通州区| 鄯善县| 铅山县| 克拉玛依市| 贵州省| 柞水县| 临高县| 潞城市| 集安市| 茶陵县| 嵊州市| 南开区| 吐鲁番市|