??作者簡(jiǎn)介:多年一線開發(fā)工作經(jīng)驗(yàn),分享技術(shù)代碼幫助學(xué)生學(xué)習(xí),獨(dú)立完成自己的項(xiàng)目或者畢業(yè)設(shè)計(jì)。
- 代碼可以私聊博主獲取。??
- 贈(zèng)送計(jì)算機(jī)畢業(yè)設(shè)計(jì)600個(gè)選題excel文件,幫助大學(xué)選題。
- 贈(zèng)送開題報(bào)告模板,幫助書寫開題報(bào)告。
作者完整代碼目錄供你選擇:
- 《Springboot網(wǎng)站項(xiàng)目》400套
- 《ssm網(wǎng)站項(xiàng)目》800套
- 《小程序項(xiàng)目》300套
- 《App項(xiàng)目》500套
- 《python網(wǎng)站項(xiàng)目》600套
?感興趣大家可以點(diǎn)點(diǎn)關(guān)注收藏,后續(xù)更新更多項(xiàng)目資料。?
項(xiàng)目演示(需要演示視頻可以私信我)
??????????
摘 ?要
現(xiàn)代經(jīng)濟(jì)快節(jié)奏發(fā)展以及不斷完善升級(jí)的信息化技術(shù),讓傳統(tǒng)數(shù)據(jù)信息的管理升級(jí)為軟件存儲(chǔ),歸納,集中處理數(shù)據(jù)信息的管理方式。本旅游景點(diǎn)管理系統(tǒng)就是在這樣的大環(huán)境下誕生,其可以幫助管理者在短時(shí)間內(nèi)處理完畢龐大的數(shù)據(jù)信息,使用這種軟件工具可以幫助管理人員提高事務(wù)處理效率,達(dá)到事半功倍的效果。此旅游景點(diǎn)管理系統(tǒng)利用當(dāng)下成熟完善的SSM框架,使用跨平臺(tái)的可開發(fā)大型商業(yè)網(wǎng)站的Java語言,以及最受歡迎的RDBMS應(yīng)用軟件之一的Mysql數(shù)據(jù)庫進(jìn)行程序開發(fā)。實(shí)現(xiàn)了景點(diǎn)基礎(chǔ)數(shù)據(jù)的管理,輪播圖管理,新聞管理,景點(diǎn)管理,旅行社管理,游客管理等功能。旅游景點(diǎn)管理系統(tǒng)的開發(fā)根據(jù)操作人員需要設(shè)計(jì)的界面簡(jiǎn)潔美觀,在功能模塊布局上跟同類型網(wǎng)站保持一致,程序在實(shí)現(xiàn)基本要求功能時(shí),也為數(shù)據(jù)信息面臨的安全問題提供了一些實(shí)用的解決方案??梢哉f該程序在幫助管理者高效率地處理工作事務(wù)的同時(shí),也實(shí)現(xiàn)了數(shù)據(jù)信息的整體化,規(guī)范化與自動(dòng)化。
關(guān)鍵詞:旅游景點(diǎn)管理系統(tǒng);SSM框架;Mysql;自動(dòng)化
1 緒論
1.1?研究背景
當(dāng)前社會(huì)各行業(yè)領(lǐng)域競(jìng)爭(zhēng)壓力非常大,隨著當(dāng)前時(shí)代的信息化,科學(xué)化發(fā)展,讓社會(huì)各行業(yè)領(lǐng)域都爭(zhēng)相使用新的信息技術(shù),對(duì)行業(yè)內(nèi)的各種相關(guān)數(shù)據(jù)進(jìn)行科學(xué)化,規(guī)范化管理。這樣的大環(huán)境讓那些止步不前,不接受信息改革帶來的信息技術(shù)的企業(yè)隨時(shí)面臨被淘汰,被取代的風(fēng)險(xiǎn)。所以當(dāng)今,各個(gè)行業(yè)領(lǐng)域,不管是傳統(tǒng)的教育行業(yè),餐飲行業(yè),還是旅游行業(yè),醫(yī)療行業(yè)等領(lǐng)域都將使用新的信息技術(shù)進(jìn)行信息革命,改變傳統(tǒng)的紙質(zhì)化,需要人手工處理工作事務(wù)的辦公環(huán)境。軟件信息技術(shù)能夠覆蓋社會(huì)各行業(yè)領(lǐng)域是時(shí)代的發(fā)展要求,各種數(shù)據(jù)以及文件真正實(shí)現(xiàn)電子化是信息社會(huì)發(fā)展的不可逆轉(zhuǎn)的必然趨勢(shì)。本旅游景點(diǎn)管理系統(tǒng)也是緊跟科學(xué)技術(shù)的發(fā)展,運(yùn)用當(dāng)今一流的軟件技術(shù)實(shí)現(xiàn)軟件系統(tǒng)的開發(fā),讓旅游景點(diǎn)信息完全通過管理系統(tǒng)實(shí)現(xiàn)科學(xué)化,規(guī)范化,程序化管理。從而幫助信息管理者節(jié)省事務(wù)處理的時(shí)間,降低數(shù)據(jù)處理的錯(cuò)誤率,對(duì)于基礎(chǔ)數(shù)據(jù)的管理水平可以起到促進(jìn)作用,也從一定程度上對(duì)隨意的業(yè)務(wù)管理工作進(jìn)行了避免,同時(shí),旅游景點(diǎn)管理系統(tǒng)的數(shù)據(jù)庫里面存儲(chǔ)的各種動(dòng)態(tài)信息,也為上層管理人員作出重大決策提供了大量的事實(shí)依據(jù)。總之,旅游景點(diǎn)管理系統(tǒng)是一款可以真正提升管理者的辦公效率的軟件系統(tǒng)。
1.2 目的和意義
信息數(shù)據(jù)的處理完全依賴人工進(jìn)行操作,會(huì)耗費(fèi)大量的人工成本,特別是面對(duì)大量的數(shù)據(jù)信息時(shí),傳統(tǒng)人工操作不僅不能對(duì)數(shù)據(jù)的出錯(cuò)率進(jìn)行保證,還容易出現(xiàn)各種信息資源的低利用率與低安全性問題。更有甚者,耽誤大量的寶貴時(shí)間,尤其是對(duì)信息的更新,歸納與統(tǒng)計(jì)更是耗財(cái)耗力的過程。所以電子化信息管理的出現(xiàn)就能緩解以及改變傳統(tǒng)人工方式面臨的處境,一方面可以確保信息數(shù)據(jù)在短時(shí)間被高效處理,還能節(jié)省人力成本,另一方面可以確保信息數(shù)據(jù)的安全性,可靠性,并可以實(shí)現(xiàn)信息數(shù)據(jù)的快速檢索與修改操作,這些優(yōu)點(diǎn)是之前的舊操作模式無法比擬的。因此旅游景點(diǎn)管理系統(tǒng)為數(shù)據(jù)信息的管理模式的升級(jí)與改革提供了重要的窗口。
1.3 論文結(jié)構(gòu)安排
為了幫助用戶更好的了解和理解程序的開發(fā)流程與相關(guān)內(nèi)容,本文將通過六個(gè)章節(jié)進(jìn)行內(nèi)容闡述。
第一章:描述了程序的開發(fā)背景,程序運(yùn)用于現(xiàn)實(shí)生活的目的與意義,以及程序文檔的結(jié)構(gòu)安排信息;
第二章:描述了程序的開發(fā)環(huán)境,包括程序開發(fā)涉及到的技術(shù),程序開發(fā)使用的數(shù)據(jù)存儲(chǔ)工具等信息;
第三章:描述了程序著手進(jìn)行開發(fā)時(shí),會(huì)面臨的可行性問題,并對(duì)程序功能以及性能要求進(jìn)行描述;
第四章:描述了程序大功能模塊下的功能細(xì)分信息,以及存儲(chǔ)程序數(shù)據(jù)的數(shù)據(jù)庫表文件結(jié)構(gòu)的設(shè)計(jì)信息等;
第五章:描述了程序的功能實(shí)現(xiàn)界面的內(nèi)容,也對(duì)程序操作人員操作的部分功能進(jìn)行了描述;
第六章:描述了程序功能的測(cè)試內(nèi)容,并介紹了系統(tǒng)測(cè)試的概念與方法。
2?相關(guān)技術(shù)
2.1 SSM框架介紹
本課題程序開發(fā)使用到的框架技術(shù),英文名稱縮寫是SSM,在JavaWeb開發(fā)中使用的流行框架有SSH、SSM、SpringMVC等,作為一個(gè)課題程序采用SSH框架也可以,SSM框架也可以,SpringMVC也可以。SSH框架是屬于重量級(jí)別的框架,配置繁瑣,不夠靈活,修改程序需要修改好多個(gè)文件,并且運(yùn)行起來也占用內(nèi)存較高,CPU使用率相對(duì)也高,SpringMVC是Spring開發(fā)的一套MVC架構(gòu),更靈活更好用,SSM框架取中間值,既沒有SSH臃腫,也沒有SpringMVC簡(jiǎn)化,屬于中間級(jí)別的,在配置過程和使用過程中更能編寫和理解。MyBatis框架取代Hibernate框架是因?yàn)樗`活,不需要完全在框架里操作,它在數(shù)據(jù)操作上可以寫出更靈活的代碼,它的性能也比Hibernate框架更穩(wěn)定??偟膩碚f,使用SSM框架是通過綜合考慮而使用的,網(wǎng)上有很多的使用教程和心得體會(huì),而且SSM又是這么的流行,用SSM框架開發(fā)是順其自然的。
2.2?B/S結(jié)構(gòu)介紹??
在早期,一些使用HTML語言編寫的文件,再集合一些其它資源文件就可以組成一個(gè)最簡(jiǎn)單的Web程序,了解了Web程序也需要了解Web站點(diǎn),它們之間的關(guān)系就是一個(gè)或者多個(gè)Web程序可以放在Internet上的一個(gè)Web站點(diǎn)(Web服務(wù)器)中進(jìn)行使用。可以說Web應(yīng)用程序的開發(fā)也帶動(dòng)了B/S這種網(wǎng)絡(luò)結(jié)構(gòu)模式的興起。B是Brower(瀏覽器)的首字母,S是Server(服務(wù)器)的首字母,兩個(gè)首字母進(jìn)行組合就成了網(wǎng)絡(luò)結(jié)構(gòu)模式的簡(jiǎn)稱B/S。由于這種結(jié)構(gòu)模式通過安裝在客戶端的瀏覽器進(jìn)行服務(wù)器的訪問,可以把程序的核心功能安排在服務(wù)器中進(jìn)行處理,給程序的開發(fā),后期使用和維護(hù)省去了許多工作。圖2.1展示的就是使用這種架構(gòu)開發(fā)的程序的工作原理。
圖2.1 B/S架構(gòu)的工作原理圖
2.3 Mysql數(shù)據(jù)庫介紹
開發(fā)的程序面向用戶的只是程序的功能界面,讓用戶操作程序界面的各個(gè)功能,那么很多人就會(huì)問,用戶使用程序功能生成的數(shù)據(jù)信息放在哪里的?這個(gè)就需要涉及到數(shù)據(jù)庫的知識(shí)了,一般來說,程序開發(fā)通常就會(huì)對(duì)常用數(shù)據(jù)存儲(chǔ)工具的特點(diǎn)進(jìn)行分析比對(duì),比如Mysql數(shù)據(jù)庫的特點(diǎn)與優(yōu)勢(shì),Access數(shù)據(jù)庫的特點(diǎn)與優(yōu)勢(shì),Sqlserver數(shù)據(jù)庫的特點(diǎn)與優(yōu)勢(shì)等,最終看哪個(gè)數(shù)據(jù)庫與需要開發(fā)的程序比較匹配,也符合程序功能運(yùn)行需要的數(shù)據(jù)存儲(chǔ)要求,比如,需要開發(fā)商業(yè)級(jí)別的程序,存儲(chǔ)的數(shù)據(jù)對(duì)數(shù)據(jù)庫要求較高,可以選用Oracle,如果只是比較簡(jiǎn)單的程序,對(duì)數(shù)據(jù)存儲(chǔ)沒有過多要求,可以選用微軟旗下的Access,當(dāng)開發(fā)程序要求數(shù)據(jù)庫占用空間小,并能滿足程序數(shù)據(jù)存儲(chǔ)要求時(shí),就可以考慮Oracle公司從瑞典MySQL AB公司在很早之前就收購過一個(gè)關(guān)系型數(shù)據(jù)庫,它是現(xiàn)在的Mysql數(shù)據(jù)庫。在數(shù)據(jù)庫工具里面它是最受認(rèn)可的其中一個(gè)應(yīng)用軟件。需要說明的信息就是,本程序的開發(fā)就運(yùn)用到了此數(shù)據(jù)庫。它將程序數(shù)據(jù)通過使用不同的數(shù)據(jù)表格進(jìn)行保存,在增加了程序數(shù)據(jù)的存儲(chǔ)速度的時(shí)候,也提高了數(shù)據(jù)庫的靈活性。?圖2.2展示的就是MySQL的架構(gòu)圖。
圖2.2 MySQL數(shù)據(jù)庫架構(gòu)圖
3 系統(tǒng)分析
當(dāng)用戶確定開發(fā)一款程序時(shí),是需要遵循下面的順序進(jìn)行工作,概括為:系統(tǒng)分析-->系統(tǒng)設(shè)計(jì)-->系統(tǒng)開發(fā)-->系統(tǒng)測(cè)試,無論這個(gè)過程是否有變更或者迭代,都是按照這樣的順序開展工作的。系統(tǒng)分析就是分析系統(tǒng)需要做什么的問題,主要目的就是確定系統(tǒng)的功能,這也為接下來的工作做了一個(gè)好的開端。
3.1?系統(tǒng)可行性分析
開發(fā)一款程序軟件不僅需要時(shí)間,也需要人力,物力資源。而進(jìn)行可行性分析這個(gè)環(huán)節(jié)就是解決用戶這方面的疑問,看看程序在當(dāng)前的條件下是否可以進(jìn)行開發(fā)。
3.1.1 技術(shù)可行性分析
此程序選用的開發(fā)語言是Java,這種編程語言有著豐富的數(shù)據(jù)類型,在指令控制語句上也比較完善,更重要的就是對(duì)類與對(duì)象的大力支持,這些優(yōu)點(diǎn)為程序開發(fā)者提供了技術(shù)保障,尤其是現(xiàn)在代碼都逐漸模塊化,有關(guān)系統(tǒng)功能開發(fā)的源碼在網(wǎng)絡(luò)上都公開展示了,所以讓具備一定計(jì)算機(jī)開發(fā)基礎(chǔ)的開發(fā)人員獨(dú)立開發(fā)系統(tǒng)在技術(shù)上也逐漸容易。
3.1.2 經(jīng)濟(jì)可行性分析
開發(fā)此程序最關(guān)鍵的設(shè)備就是一臺(tái)電腦,無論是學(xué)校計(jì)算機(jī)室配備的電腦,還是自己入學(xué)以來購置的筆記本,都是可以符合開發(fā)要求的設(shè)備,另外在網(wǎng)絡(luò)上,學(xué)校本已完全覆蓋了校園網(wǎng),所以在設(shè)備以及網(wǎng)絡(luò)上無須考慮經(jīng)濟(jì)問題。
3.1.3 運(yùn)行可行性分析
隨著電腦軟件以及配套硬件的完善升級(jí),當(dāng)下的計(jì)算機(jī)環(huán)境是一片大好,尤其是計(jì)算機(jī)已經(jīng)廣泛普及到家家戶戶,所以計(jì)算機(jī)設(shè)備現(xiàn)在是隨處可見,由于本次開發(fā)的程序占有的資源耗費(fèi)較小,在一般的電腦或筆記本上都能輕松運(yùn)轉(zhuǎn)起來。
通過上面的可行性描述,可以從經(jīng)濟(jì),技術(shù),運(yùn)行方面解決程序開發(fā)是否可行的問題。因此可以認(rèn)為該程序軟件是可以進(jìn)行開發(fā)的。
3.2?系統(tǒng)性能分析
系統(tǒng)性能分析也是比較重要的內(nèi)容,進(jìn)行系統(tǒng)性能分析就是為了確保系統(tǒng)的功能要能夠在生活中運(yùn)行使用時(shí),達(dá)到規(guī)定的指標(biāo),因此一個(gè)完整的系統(tǒng)軟件,是需要進(jìn)行系統(tǒng)的性能分析這個(gè)步驟的。本次進(jìn)行性能分析主要從易用性指標(biāo),可擴(kuò)展性指標(biāo),系統(tǒng)健壯性指標(biāo),系統(tǒng)安全性指標(biāo)這幾個(gè)方面進(jìn)行分析。
3.2.1 易用性指標(biāo)
本次程序軟件的開發(fā)的目的就是讓使用者可以通過使用該軟件提高信息數(shù)據(jù)的管理效率,同時(shí)該程序軟件也需要針對(duì)不同的操作用戶設(shè)置對(duì)應(yīng)的功能,因此,此程序的操作流程應(yīng)該盡量與用戶日常操作軟件的行為習(xí)慣相貼合,另外,程序軟件的設(shè)計(jì)與開發(fā)也應(yīng)考慮非計(jì)算機(jī)專業(yè)用戶的計(jì)算機(jī)操作水平,要讓大部分使用者都可以輕松操作程序提供的各個(gè)功能。
3.2.2 可擴(kuò)展性指標(biāo)
當(dāng)前需要開發(fā)的程序軟件是根據(jù)當(dāng)下的用戶需求進(jìn)行設(shè)計(jì)開發(fā)的,但是隨著時(shí)間的推移,社會(huì)大環(huán)境的改變,開發(fā)出的程序也是需要與時(shí)俱進(jìn)的,需要根據(jù)用戶不斷變換的需求進(jìn)行相應(yīng)的功能內(nèi)容的擴(kuò)展,需要注意的就是,當(dāng)對(duì)成型的程序進(jìn)行功能模塊新增時(shí),仍然需要保證程序原有架構(gòu)以及功能不能受到影響,新增的功能模塊在系統(tǒng)中也能夠運(yùn)行正常,該指標(biāo)達(dá)標(biāo)也就可以保證此程序是可以在滿足信息管理要求下,從容應(yīng)對(duì)市場(chǎng)環(huán)境的變化。
3.2.3 健壯性指標(biāo)
程序軟件的開發(fā)就是為了投入使用時(shí),可以一直穩(wěn)定的處理各種數(shù)據(jù)信息,程序軟件一旦不穩(wěn)定,也會(huì)給使用者帶來干擾。因此從性能分析的角度,就要要求程序軟件在應(yīng)對(duì)使用者的誤操作,或者是使用者因?yàn)楦鞣N原因,填寫有誤的數(shù)據(jù)等情況時(shí),程序要一直保持穩(wěn)定,并能夠正常讓使用者進(jìn)行使用。當(dāng)程序的某個(gè)功能模塊出現(xiàn)異常時(shí),程序的其它功能模塊也要能夠確保正常使用。程序的健壯性指標(biāo)達(dá)標(biāo)可以讓使用者產(chǎn)生良好的用戶體驗(yàn)。
3.2.4 安全性指標(biāo)
程序軟件的安全問題是首要問題,畢竟程序?qū)?yīng)數(shù)據(jù)庫里面存放的數(shù)據(jù)信息是龐大的,里面也包括了許多重要的個(gè)人信息,這就對(duì)程序要具備一個(gè)完善的安全機(jī)制提出了要求。因此程序必須要設(shè)置登錄功能用以進(jìn)行用戶身份的檢查,以及身份和權(quán)限的匹配,通過對(duì)不同用戶身份進(jìn)行功能約束,絕不容忍用戶越權(quán)操作程序。另外,也需要時(shí)刻防范計(jì)算機(jī)病毒,還有黑客,通過采取針對(duì)性的辦法進(jìn)行安全應(yīng)對(duì),確保程序時(shí)刻處于安全的環(huán)境,讓使用者放心使用。
3.3?系統(tǒng)流程分析
3.3.1 操作流程分析
程序上交給用戶進(jìn)行使用時(shí),需要提供程序的操作流程圖(如圖3.1所示),這樣便于用戶容易理解程序的具體工作步驟,現(xiàn)如今程序的操作流程都有一個(gè)大致的標(biāo)準(zhǔn),即先通過登錄頁面提交登錄數(shù)據(jù),通過程序驗(yàn)證正確之后,用戶才能在程序功能操作區(qū)頁面操作對(duì)應(yīng)的功能。
圖3.1?程序操作流程圖
3.3.2 登錄流程分析
在這個(gè)部分,需要對(duì)程序的登錄功能模塊的運(yùn)行流程(如圖3.2所示),進(jìn)行單獨(dú)說明。程序設(shè)置登錄模塊也是為了安全起見,讓用戶使用放心,登錄模塊主要就是讓用戶提交登錄信息,程序進(jìn)行數(shù)據(jù)驗(yàn)證,驗(yàn)證通過的用戶才能夠成功登錄程序。
圖3.2 程序登錄流程圖
3.3.3 信息添加流程分析
程序的添加功能就是提供給操作者錄入信息的功能,不管是涉及到用戶信息添加,還是其它功能模塊涉及到的信息添加,程序的信息添加流程(如圖3.3所示)都是一致的。程序都是先對(duì)操作者錄入的數(shù)據(jù)進(jìn)行判定,這個(gè)判定規(guī)則是一段提前編寫完成的程序代碼,當(dāng)程序判定數(shù)據(jù)符合要求時(shí),才會(huì)把操作者錄入的數(shù)據(jù)登記在數(shù)據(jù)表里面,比如添加的用戶信息,就會(huì)把新添加的用戶信息寫入用戶信息的數(shù)據(jù)表文件里面。
圖3.3?信息添加流程圖
3.3.4 信息刪除流程分析
當(dāng)從程序里面刪除某種無效數(shù)據(jù)時(shí),遵循程序的信息刪除流程(如圖3.4所示),先要選中操作者需要?jiǎng)h除的數(shù)據(jù),程序?yàn)榱祟A(yù)防操作者誤刪信息,也會(huì)進(jìn)行提示,當(dāng)操作者真正確定要?jiǎng)h選中的信息時(shí),該信息就會(huì)從數(shù)據(jù)庫中被永久刪除。
圖3.4?信息刪除流程圖
4?系統(tǒng)設(shè)計(jì)
旅游景點(diǎn)管理系統(tǒng)的設(shè)計(jì)方案比如功能框架的設(shè)計(jì),比如數(shù)據(jù)庫的設(shè)計(jì)的好壞也就決定了該系統(tǒng)在開發(fā)層面是否高效,以及在系統(tǒng)維護(hù)層面是否容易維護(hù)和升級(jí),因?yàn)樵谙到y(tǒng)實(shí)現(xiàn)階段是需要考慮用戶的所有需求,要是在設(shè)計(jì)階段沒有經(jīng)過全方位考慮,那么系統(tǒng)實(shí)現(xiàn)的部分也就無從下手,所以系統(tǒng)設(shè)計(jì)部分也是至關(guān)重要的一個(gè)環(huán)節(jié),只有根據(jù)用戶需求進(jìn)行細(xì)致全面的考慮,才有希望開發(fā)出功能健全穩(wěn)定的程序軟件。
4.1?系統(tǒng)概要設(shè)計(jì)
本次擬開發(fā)的系統(tǒng)為了節(jié)約開發(fā)成本,也為了后期在維護(hù)和升級(jí)上的便利性,打算通過瀏覽器來實(shí)現(xiàn)系統(tǒng)功能界面的展示,讓程序軟件的主要事務(wù)集中在后臺(tái)的服務(wù)器端處理,前端部分只用處理少量的事務(wù)邏輯。下面使用一張圖(如圖4.1所示)來說明程序的工作原理。
圖4.1 程序工作的原理圖
4.2?系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)
在分析并得出使用者對(duì)程序的功能要求時(shí),就可以進(jìn)行程序設(shè)計(jì)了。如圖4.2展示的就是管理員功能結(jié)構(gòu)圖,管理員主要負(fù)責(zé)填充景點(diǎn)和其類別信息,并對(duì)已填充的數(shù)據(jù)進(jìn)行維護(hù),包括修改與刪除,管理員也需要對(duì)游客管理,輪播圖管理,新聞管理,旅行社管理及基礎(chǔ)數(shù)據(jù)等。
圖4.2 系統(tǒng)功能結(jié)構(gòu)圖
4.3?數(shù)據(jù)庫設(shè)計(jì)
程序功能操作不管是添加,修改,還是刪除等功能產(chǎn)生的數(shù)據(jù)都是經(jīng)由數(shù)據(jù)庫進(jìn)行數(shù)據(jù)保存和更新的,所以一個(gè)數(shù)據(jù)庫設(shè)計(jì)的好壞也是程序是否好壞的判定標(biāo)準(zhǔn),因?yàn)槌绦虻某晒?,有一半的功勞都是靠?shù)據(jù)庫的優(yōu)秀設(shè)計(jì)。數(shù)據(jù)庫一旦設(shè)計(jì)得良好是可以減輕開發(fā)人員的開發(fā)負(fù)擔(dān)的。
4.3.1?數(shù)據(jù)庫E-R圖設(shè)計(jì)
這個(gè)部分的設(shè)計(jì)需要使用到E-R圖繪制工具,常用的工具就是Visio工具來繪制E-R模型圖,這款工具不僅可以快速創(chuàng)建需要的E-R模型圖,而且該工具提供的操作界面很簡(jiǎn)單,可以短時(shí)間內(nèi)修改繪圖界面的圖形或者是文字的屬性。在繪制E-R模型圖時(shí),要分清楚各個(gè)圖形代表的含義,以免繪制出錯(cuò),E-R模型圖由長(zhǎng)方形(實(shí)體),橢圓形(屬性),菱形(關(guān)系)這三部分圖形符號(hào)組成,繪制期間要區(qū)分開來,用準(zhǔn)確的圖形符號(hào)代表相應(yīng)的數(shù)據(jù)元素。
各個(gè)實(shí)體之間的聯(lián)系用下圖的E-R圖表示。繪制的系統(tǒng)E-R圖見圖4.8。
圖4.8 系統(tǒng)E-R圖
4.3.2 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)庫系統(tǒng)一旦選定之后,需要根據(jù)程序要求在數(shù)據(jù)庫中建立數(shù)據(jù)庫文件,并在已經(jīng)完成創(chuàng)建的數(shù)據(jù)庫文件里面,為程序運(yùn)行中產(chǎn)生的數(shù)據(jù)建立對(duì)應(yīng)的數(shù)據(jù)表格,數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)就是對(duì)創(chuàng)建的數(shù)據(jù)表格進(jìn)行字段設(shè)計(jì),字段長(zhǎng)度設(shè)計(jì),字段類型設(shè)計(jì)等,當(dāng)數(shù)據(jù)表格合理設(shè)計(jì)完成之后,才能正常存儲(chǔ)相關(guān)程序運(yùn)行產(chǎn)生的數(shù)據(jù)信息。?
?表4.1字典表表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
2 |
dic_code |
String |
字段 |
是 |
3 |
dic_name |
String |
字段名 |
是 |
4 |
code_index |
Integer |
編碼 |
是 |
5 |
index_name |
String |
編碼名字 |
是 |
6 |
super_id |
Integer |
父字段id |
是 |
7 |
create_time |
Date |
創(chuàng)建時(shí)間 |
是 |
表4.2景點(diǎn)表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
8 |
jingdian_name |
String |
景點(diǎn)名 |
是 |
9 |
jingdian_types |
Integer |
景點(diǎn)類型 |
是 |
10 |
jingdian_dengji_types |
Integer |
景點(diǎn)等級(jí) |
是 |
11 |
jingdian_photo |
String |
景點(diǎn)縮略圖 |
是 |
12 |
jingdian_tese |
String |
景點(diǎn)特色 |
是 |
13 |
jingdian_luxian |
String |
景點(diǎn)路線 |
是 |
14 |
jingdian_content |
String |
景點(diǎn)詳情 |
是 |
15 |
jingdian_new_money |
Integer |
門票參考價(jià)格 |
是 |
16 |
create_time |
Date |
創(chuàng)建時(shí)間 |
是 |
表4.3景點(diǎn)收藏表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
17 |
jingdian_id |
Integer |
景點(diǎn) |
是 |
18 |
yonghu_id |
Integer |
用戶id |
是 |
19 |
insert_time |
Date |
收藏時(shí)間 |
是 |
20 |
create_time |
Date |
創(chuàng)建時(shí)間 |
是 |
表4.4景點(diǎn)留言表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
21 |
jingdian_id |
Integer |
景點(diǎn) |
是 |
22 |
yonghu_id |
Integer |
用戶 |
是 |
23 |
jingdian_liuyan_content |
String |
評(píng)價(jià)內(nèi)容 |
是 |
24 |
reply_content |
String |
回復(fù)內(nèi)容 |
是 |
25 |
insert_time |
Date |
評(píng)價(jià)時(shí)間 |
是 |
26 |
create_time |
Date |
創(chuàng)建時(shí)間 |
是 |
表4.5旅行社表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
27 |
lvxingshe_name |
String |
旅行社名稱 |
是 |
28 |
lvxingshe_types |
Integer |
旅行社星級(jí) |
是 |
29 |
lvxingshe_weizhi |
String |
旅行社位置 |
是 |
30 |
lvxingshe_photo |
String |
旅行社縮略圖 |
是 |
31 |
lvxingshe_jingdian |
String |
附近景點(diǎn) |
是 |
32 |
lvxingshe_new_money |
Integer |
單價(jià) |
是 |
33 |
lvxingshe_content |
String |
旅行社詳情 |
是 |
34 |
create_time |
Date |
創(chuàng)建時(shí)間 |
是 |
表4.6旅行社收藏表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
35 |
lvxingshe_id |
Integer |
景點(diǎn)id |
是 |
36 |
yonghu_id |
Integer |
用戶id |
是 |
37 |
insert_time |
Date |
收藏時(shí)間 |
是 |
38 |
create_time |
Date |
創(chuàng)建時(shí)間 |
是 |
表4.7旅行社留言表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
39 |
lvxingshe_id |
Integer |
旅行社id |
是 |
40 |
yonghu_id |
Integer |
用戶id |
是 |
41 |
lvxingshe_liuyan_content |
String |
留言內(nèi)容 |
是 |
42 |
reply_content |
String |
回復(fù)內(nèi)容 |
是 |
43 |
insert_time |
Date |
討論時(shí)間 |
是 |
44 |
create_time |
Date |
創(chuàng)建時(shí)間 |
是 |
表4.8新聞表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
45 |
news_name |
String |
新聞名稱 |
是 |
46 |
news_types |
Integer |
新聞?lì)愋?/p> |
是 |
47 |
news_photo |
String |
新聞圖片 |
是 |
48 |
insert_time |
Date |
新聞時(shí)間 |
是 |
49 |
news_content |
String |
新聞詳情 |
是 |
50 |
create_time |
Date |
創(chuàng)建時(shí)間 |
是 |
表4.9游客表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
51 |
yonghu_name |
String |
游客姓名 |
是 |
52 |
yonghu_phone |
String |
游客手機(jī)號(hào) |
是 |
53 |
yonghu_id_number |
String |
游客身份證號(hào) |
是 |
54 |
yonghu_photo |
String |
游客頭像 |
是 |
55 |
sex_types |
Integer |
性別 |
是 |
56 |
create_time |
Date |
創(chuàng)建時(shí)間 |
是 |
表4.10用戶表表
序號(hào) |
列名 |
數(shù)據(jù)類型 |
說明 |
允許空 |
1 |
Id |
Int |
id |
否 |
57 |
role |
String |
角色 |
是 |
58 |
addtime |
Date |
新增時(shí)間 |
是 |
5?系統(tǒng)實(shí)現(xiàn)
系統(tǒng)實(shí)現(xiàn)部分就是將系統(tǒng)分析,系統(tǒng)設(shè)計(jì)部分的內(nèi)容通過編碼進(jìn)行功能實(shí)現(xiàn),以一個(gè)實(shí)際應(yīng)用系統(tǒng)的形式展示系統(tǒng)分析與系統(tǒng)設(shè)計(jì)的結(jié)果。前面提到的系統(tǒng)分析,系統(tǒng)設(shè)計(jì)最主要還是進(jìn)行功能,系統(tǒng)操作邏輯的設(shè)計(jì),也包括了存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)庫方面的設(shè)計(jì)等內(nèi)容,系統(tǒng)實(shí)現(xiàn)就是一個(gè)最終的實(shí)施階段,將前面的設(shè)計(jì)成果進(jìn)行物理轉(zhuǎn)化,最終出具可以運(yùn)用于實(shí)際的軟件系統(tǒng)。
5.1 管理員功能介紹
5.1.1?游客管理
如圖5.1顯示的就是游客管理頁面,此頁面提供給管理員的功能有:新增游客,刪除游客,修改游客信息。
圖5.1 游客管理頁面
5.1.2?輪播圖管理
如圖5.2顯示的就是輪播圖管理頁面,此頁面提供給管理員的功能有:新增輪播圖,修改輪播圖,刪除輪播圖。
圖5.2 輪播圖管理頁面
5.1.3 景點(diǎn)管理
如圖5.3顯示的就是景點(diǎn)管理頁面,此頁面提供給管理員的功能有:新增景點(diǎn),修改景點(diǎn)信息,刪除景點(diǎn)信息。
5.1.4?景點(diǎn)類型管理
如圖5.4顯示的就是景點(diǎn)類型管理頁面,此頁面提供給管理員的功能有:新增景點(diǎn)類型,刪除景點(diǎn)類型,修改景點(diǎn)類型。
圖5.4 景點(diǎn)類型管理頁面
5.2前臺(tái)首頁功能模塊
?旅游景點(diǎn)管理,在旅游景點(diǎn)管理首頁可以查看景點(diǎn),旅行社等,如圖5-17所示。
圖5-17系統(tǒng)首頁界面圖
登錄、注冊(cè),通過注冊(cè)填寫用戶賬號(hào)、用戶姓名、密碼、聯(lián)系電話、電子郵箱等信息進(jìn)行注冊(cè)操作,如圖5-18所示。
圖5-18登錄、注冊(cè)界面圖
旅游景點(diǎn),在旅游景點(diǎn)列表頁面查看列表詳情,旅游景點(diǎn)詳情頁面可以查看景點(diǎn)詳情信息,如圖5-19所示。
圖5-19旅游景點(diǎn)界面圖
個(gè)人中心,在個(gè)人中心頁面可以查看用戶賬號(hào)、用戶姓名、密碼、性別、聯(lián)系電話等如圖5-20所示。
圖5-20個(gè)人中心界面圖
6?系統(tǒng)測(cè)試
程序軟件一旦被開發(fā)完成之后,在真正投入日常生活中進(jìn)行運(yùn)行使用之前,是必須要經(jīng)歷測(cè)試這一個(gè)重要的操作環(huán)節(jié),因?yàn)殚_發(fā)期間注重的是每個(gè)單獨(dú)功能模塊的開發(fā),盡管每次開發(fā)完成一個(gè)單獨(dú)功能模塊時(shí),會(huì)通過單元測(cè)試進(jìn)行檢驗(yàn),檢驗(yàn)合格才會(huì)讓程序員繼續(xù)開發(fā)下一個(gè)子功能模塊,以此類推,當(dāng)程序員完成所有的系統(tǒng)子功能模塊的開發(fā)時(shí),這個(gè)時(shí)候就需要引進(jìn)系統(tǒng)測(cè)試,系統(tǒng)測(cè)試就是把所有的子功能模塊集成到一起,構(gòu)建成整個(gè)系統(tǒng),在指定的運(yùn)行環(huán)境下進(jìn)行運(yùn)行,主要就是測(cè)試系統(tǒng)的所有功能模塊在一起是否良好運(yùn)行,一旦程序軟件通過了系統(tǒng)測(cè)試這一環(huán)節(jié),就意味著它可以進(jìn)行最終的驗(yàn)收測(cè)試了,這個(gè)測(cè)試步驟的操作用戶是程序面向的客戶或者是最終用戶了。
6.1 系統(tǒng)測(cè)試的特點(diǎn)
系統(tǒng)測(cè)試也是為了保證系統(tǒng)正式上線后,可以穩(wěn)定正常運(yùn)行,給使用者帶來便利。系統(tǒng)測(cè)試也有其對(duì)應(yīng)的特點(diǎn):
(1)系統(tǒng)測(cè)試它包括了端到端的完整測(cè)試;
(2)系統(tǒng)測(cè)試也對(duì)程序軟件的架構(gòu)方面,程序軟件的業(yè)務(wù)需求等方面進(jìn)行了測(cè)試;
(3)系統(tǒng)測(cè)試一旦采用正確的方法進(jìn)行,這將減少程序正式上線之后產(chǎn)生的各種錯(cuò)誤;
系統(tǒng)測(cè)試一般都是在跟生產(chǎn)環(huán)境相似的環(huán)境當(dāng)中運(yùn)行,程序的功能比如添加功能,刪除功能,修改功能等都會(huì)使用同樣的數(shù)據(jù)在新系統(tǒng)和現(xiàn)有系統(tǒng)中進(jìn)行比較,這樣做讓用戶對(duì)新系統(tǒng)中的添加,修改,刪除等功能能夠更好地理解,也能提升用戶對(duì)新系統(tǒng)的滿意度。
6.2 系統(tǒng)功能測(cè)試
6.2.1 登錄功能測(cè)試
要保障程序安全,首先就要從入門門檻抓起,所以程序的登錄模塊也是很重要的程序入門門檻,務(wù)必要保證此功能可以安全運(yùn)行使用。此次對(duì)程序登錄模塊測(cè)試選擇管理員角色進(jìn)行測(cè)試(如表6.1所示)。
表6.1 登錄功能測(cè)試數(shù)據(jù)表
登錄賬號(hào) |
登錄密碼 |
操作人 |
最終結(jié)果 |
abc |
abc |
管理員 |
登錄進(jìn)入程序 |
123 |
abc |
管理員 |
彈出錯(cuò)誤登錄提示 |
abc |
123 |
管理員 |
彈出錯(cuò)誤登錄提示 |
6.2.2 添加類別功能測(cè)試
旅游景點(diǎn)管理系統(tǒng)需要管理員添加類別信息,類別名稱是程序設(shè)置的必填數(shù)據(jù),而且添加的類別名稱也不能夠是數(shù)據(jù)庫里面的存在的數(shù)據(jù)。對(duì)添加類別功能測(cè)試時(shí),測(cè)試數(shù)據(jù)在下表展示。
表6.2 添加類別功能測(cè)試數(shù)據(jù)表
類別名稱 |
反饋結(jié)果 |
類別1 |
失敗 |
類別2 |
失敗 |
類別3 |
成功 |
6.3 測(cè)試結(jié)果分析
程序經(jīng)過了上述的測(cè)試環(huán)節(jié),可以得出的測(cè)試結(jié)論有:
第一點(diǎn),可以確定開發(fā)出來的旅游景點(diǎn)管理系統(tǒng)是符合同類型系統(tǒng)的要求;
第二點(diǎn),用戶要求旅游景點(diǎn)管理系統(tǒng)需要具備的功能都已開發(fā)完成并能夠正常使用;
第三點(diǎn),旅游景點(diǎn)管理系統(tǒng)界面簡(jiǎn)潔美觀,操作流程清晰明了;
第四點(diǎn),旅游景點(diǎn)管理系統(tǒng)的安全性,以及運(yùn)行性能符合開發(fā)要求。
至此,旅游景點(diǎn)管理系統(tǒng)可以確保所有功能能夠按照預(yù)期目標(biāo)進(jìn)行運(yùn)行,可以正式投入生活中運(yùn)行使用!
結(jié) ?論
通過對(duì)旅游景點(diǎn)管理系統(tǒng)的開發(fā),讓我深刻明白開發(fā)一個(gè)程序軟件需要經(jīng)歷的流程,當(dāng)確定要開發(fā)一個(gè)旅游景點(diǎn)管理系統(tǒng)的程序時(shí),我在開發(fā)期間,對(duì)其功能進(jìn)行合理的需求分析,然后才是程序軟件的功能的框架設(shè)計(jì),數(shù)據(jù)庫的實(shí)體與數(shù)據(jù)表設(shè)計(jì),程序軟件的功能詳細(xì)界面實(shí)現(xiàn),以及程序的功能測(cè)試等進(jìn)行全方位的細(xì)致考慮,雖然在此過程中,各個(gè)環(huán)節(jié)都遇到了大大小小的困難,但是通過對(duì)這些問題進(jìn)行反復(fù)的分析,深入的思考,借助各種相關(guān)文獻(xiàn)資料提供的方法與解決思路成功解決面臨的各個(gè)問題,最后成功的讓我開發(fā)的旅游景點(diǎn)管理系統(tǒng)得以正常運(yùn)行。
旅游景點(diǎn)管理系統(tǒng)在功能上面是基本可以滿足用戶對(duì)系統(tǒng)的操作,但是這個(gè)程序軟件也有許多方面是不足的,因此,在下一個(gè)時(shí)間階段,有幾點(diǎn)需要改進(jìn)的地方需要提出來,它們分別是:
(1)操作頁面可以滿足用戶簡(jiǎn)易操作的要求,但是在頁面多樣化設(shè)計(jì)層面上需要把一些比較豐富的設(shè)計(jì)結(jié)構(gòu)考慮進(jìn)來。
(2)程序軟件的總體安全性能需要優(yōu)化,例如程序的退出安全性,以及程序的并發(fā)性等問題都需要進(jìn)行安全性升級(jí),讓開發(fā)的旅游景點(diǎn)管理系統(tǒng)與現(xiàn)實(shí)中的相關(guān)網(wǎng)站更貼合。
(3)需要對(duì)程序的數(shù)據(jù)結(jié)構(gòu)方面,程序的代碼方面等進(jìn)行優(yōu)化,讓運(yùn)行起來的程序可以保持穩(wěn)定運(yùn)行,也讓程序能夠保證短時(shí)間內(nèi)處理相關(guān)事務(wù),節(jié)省處理事務(wù)的時(shí)間,提高事務(wù)處理的效率,同時(shí)對(duì)服務(wù)器上資源占用的比例進(jìn)行降低。
旅游景點(diǎn)管理系統(tǒng)的開發(fā)一方面是對(duì)自身專業(yè)知識(shí)技能進(jìn)行最終考核,另一方面也是讓自己學(xué)會(huì)獨(dú)立解決程序開發(fā)過程中所遇到的問題,掌握將理論知識(shí)運(yùn)用于程序開發(fā)實(shí)踐的方法。旅游景點(diǎn)管理系統(tǒng)的開發(fā)最終目標(biāo)就是讓系統(tǒng)更具人性化,同時(shí)在邏輯設(shè)計(jì)上,讓系統(tǒng)能夠更加的嚴(yán)謹(jǐn)。
致??謝
大學(xué)期間的學(xué)習(xí)時(shí)光對(duì)于我來說是美好而短暫的,在這期間我也接觸了許多可愛的大學(xué)同學(xué)們,以及兢兢業(yè)業(yè)教學(xué)的老師們,在我的畢業(yè)論文即將完成之際,我想對(duì)那些曾經(jīng)給予我支持,幫助,還有鼓勵(lì)的同學(xué)和老師以及家人們表達(dá)我內(nèi)心的無比感激之情。
首先,感謝給予我論文指導(dǎo)的指導(dǎo)老師,從開題報(bào)告,任務(wù)書,論文大綱的編寫與系統(tǒng)的功能框架設(shè)計(jì),到最終的畢業(yè)論文,都是指導(dǎo)老師全程參與的悉心指導(dǎo)和幫忙,才能夠讓我的畢業(yè)論文可以符合學(xué)院要求編寫完成。我的指導(dǎo)老師一絲不茍的教學(xué)精神以及在學(xué)術(shù)上的嚴(yán)謹(jǐn)作風(fēng),這些優(yōu)點(diǎn)是值得我不斷去努力學(xué)習(xí)的。
其次,感謝大學(xué)同學(xué)的陪伴與幫助,在我獨(dú)立編寫畢業(yè)論文期間,大學(xué)同學(xué)的鼓勵(lì)與耐心的幫助使得我少走很多彎路,節(jié)省畢業(yè)論文的編寫時(shí)間,也讓我有更多精力去完善我開發(fā)的系統(tǒng)。
最后,感謝我最親密的家人帶給我的包容和關(guān)愛,我能夠安心學(xué)習(xí)也是來源于家人們對(duì)我的無微不至的照顧,這樣我才可以順順利利完成我的大學(xué)學(xué)業(yè)。
畢業(yè)倒計(jì)時(shí)之際,希望在今后的工作中,在今后的生活中,我會(huì)一直謹(jǐn)記老師們帶給我的孜孜不倦的教誨,并通過不懈的努力和追求來改變自己,以此報(bào)答那些曾支持過以及幫助過我的人!
參考文獻(xiàn)
[1]寧昭銥,陳靜,張立斌.一個(gè)旅游景點(diǎn)管理系統(tǒng)平臺(tái)的設(shè)計(jì)[J].科技經(jīng)濟(jì)導(dǎo)刊,2017(01):32+25.
[2]李鑫.淺談信息化旅游景點(diǎn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].民營(yíng)科技,2016(11):74.
[3]宋麗娜.基于JSP的Web開發(fā)中文亂碼問題的研究與解決[J].電子技術(shù),2015,42(11):5-7.
[4]汪君宇.基于JSP的Web應(yīng)用軟件開發(fā)技術(shù)分析[J].科技創(chuàng)新與應(yīng)用,2018(16):158-160.
[5]趙鋼.JSP Servlet+EJB的Web模式應(yīng)用研究[J].電子設(shè)計(jì)工程,2016,21(13):47-49.
[6]肖英.解決JSP/Servlet開發(fā)中的中文亂碼問題[J].科技傳播,2017,(1)11-25.
[7]朱鈞.基于角色的jsp通用權(quán)限系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].山東大學(xué),2014.
[8]康牧.JSP動(dòng)態(tài)網(wǎng)站開發(fā)實(shí)用教程[M].清華大學(xué)出版社,2014.
[9]王建國.數(shù)據(jù)庫設(shè)計(jì)在網(wǎng)站開發(fā)中的應(yīng)用[J].山東農(nóng)業(yè)工程學(xué)院學(xué)報(bào),2017,34(04):158-159+164.
[10]張知青.基于關(guān)系數(shù)據(jù)庫的查詢方法及優(yōu)化技術(shù)分析[J].煤炭技術(shù),2015,31(05):218-220.
[11]陳志譽(yù).Java工具及其調(diào)度方法研究[D].華南理工大學(xué),2018.
[12]張孝祥,徐明華.JAVA基礎(chǔ)與案例開發(fā)詳解[M].清華大學(xué)出版社,2014.
[13]劉亞賓.精通Eclipse--JAVA技術(shù)大系[M].電子工業(yè)出版社,2015.
[14]曾志明.網(wǎng)站開發(fā)技術(shù)的比較研究[J].電腦知識(shí)與技術(shù),2015,6(05):1075-1078.
[15]衛(wèi)紅春.信息系統(tǒng)分析與設(shè)計(jì)[M].北京:清華大學(xué)出版社,2014.
[16]于萬波.網(wǎng)站開發(fā)與應(yīng)用案例教程[M].清華大學(xué)出版社,2013.
[17]黎連業(yè),王華,李淑春.軟件測(cè)試與測(cè)試技術(shù)[M].清華大學(xué)出版社,2014.
[18]Xin-hua YOU. Brief Discuss the Application of Object-oriented in Java Language Programming Course[A]. Advanced Science and Industry Research Center.Proceedings of 2018 3rd International Conference on Automation, Mechanical and Electrical Engineering (AMEE 2018)[C].Advanced Science and Industry Research Center:Science and Engineering Research Center,2018:5.文章來源:http://www.zghlxwxcb.cn/news/detail-811624.html
[19]Menglin Liu. Design and Research of Batch Query System Based on Java[A]. Research Institute of Management Science and Industrial Engineering.Proceedings of 2018 4th World Conference on Control, Electronics and Computer Engineering (WCCECE 2018)[C].Research Institute of Management Science and Industrial Engineering:計(jì)算機(jī)科學(xué)與電子技術(shù)國際學(xué)會(huì)(Computer Science and Electronic Technology International Society),2018:5.文章來源地址http://www.zghlxwxcb.cn/news/detail-811624.html
核心代碼展示
/**
* 公告通知
* 后端接口
* @author
* @email
* @date 2021-03-09 11:33:59
*/
@RestController
@RequestMapping("/news")
public class NewsController {
@Autowired
private NewsService newsService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,NewsEntity news, HttpServletRequest request){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
PageUtils page = newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( NewsEntity news){
EntityWrapper<NewsEntity> ew = new EntityWrapper<NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
return R.ok().put("data", newsService.selectListView(ew));
}
/**
* 查詢
*/
@RequestMapping("/query")
public R query(NewsEntity news){
EntityWrapper< NewsEntity> ew = new EntityWrapper< NewsEntity>();
ew.allEq(MPUtil.allEQMapPre( news, "news"));
NewsView newsView = newsService.selectView(ew);
return R.ok("查詢公告通知成功").put("data", newsView);
}
/**
* 后端詳情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 前端詳情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
NewsEntity news = newsService.selectById(id);
return R.ok().put("data", news);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody NewsEntity news, HttpServletRequest request){
news.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(news);
newsService.insert(news);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody NewsEntity news, HttpServletRequest request){
//ValidatorUtils.validateEntity(news);
newsService.updateById(news);//全部更新
return R.ok();
}
/**
* 刪除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
newsService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<NewsEntity> wrapper = new EntityWrapper<NewsEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = newsService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
到了這里,關(guān)于【網(wǎng)站項(xiàng)目】基于jsp的199旅游景點(diǎn)管理系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!