Java基于springboot的廚藝交流平臺的設計與實現代碼

摘 要

使用舊方法對廚藝交流信息進行系統化管理已經不再讓人們信賴了,把現在的網絡信息技術運用在廚藝交流信息的管理上面可以解決許多信息管理上面的難題,比如處理數據時間很長,數據存在錯誤不能及時糾正等問題。
這次開發的廚藝交流平臺功能有個人中心,食材分類管理,用戶管理,菜品分類管理,菜譜信息管理,食材信息管理,商品分類管理,商品信息管理,美食日志管理,健康文章管理,系統管理,訂單管理等。經過前面自己查閱的網絡知識,加上自己在學校課堂上學習的知識,決定開發系統選擇B/S模式這種高效率的模式完成系統功能開發。這種模式讓操作員基于瀏覽器的方式進行網站訪問,采用的主流的Java語言這種面向對象的語言進行廚藝交流平臺程序的開發,在數據庫的選擇上面,選擇功能強大的MySQL數據庫進行數據的存放操作。
廚藝交流平臺被人們投放于現在的生活中進行使用,該款管理類軟件就可以讓管理人員處理信息的時間介于十幾秒之間。在這十幾秒內就能完成信息的編輯等操作。有了這樣的管理軟件,廚藝交流信息的管理就離無紙化辦公的目標更貼近了。

關鍵詞:廚藝交流平臺;Java;MySQL;Spring Boot;

Abstract
The use of the old method to systematically manage the culinary art exchange information is no longer trusted by people. Applying the current network information technology to the management of culinary art exchange information can solve many problems in information management, such as a long time to process data. , The data has errors and can’t be corrected in time.
The functions of the culinary exchange platform developed this time include personal center, food classification management, user management, dish classification management, recipe information management, food information management, commodity classification management, commodity information management, gourmet log management, health article management, and system management , Order management, etc. After the network knowledge I checked before, plus the knowledge I learned in the school classroom, I decided to choose the B/S mode as a high-efficiency mode for the development system to complete the system function development. This mode allows operators to access the website based on a browser. The mainstream Java language, an object-oriented language, is used for the development of the cooking communication platform program. In the selection of the database, the powerful MySQL database is selected for data. Storage operation.
The culinary art exchange platform is used by people in their daily lives. This management software allows managers to process information within a dozen seconds. Information editing and other operations can be completed within these ten seconds. With such management software, the management of culinary art exchange information is closer to the goal of paperless office.
Key Words:Cooking communication platform; Java; MySQL; Spring Boot;

目 錄

目 錄 III
1 緒論 1
1.1 研究背景 1
1.2目的和意義 1
1.3 論文結構安排 2
2 相關技術 3
2.1 Spring Boot框架簡介 3
2.2 B/S架構介紹 3
2.3 MySQL數據庫介紹 3
2.4 JAVA語言介紹 4
3 系統分析 6
3.1系統可行性分析 6
3.1.1 技術可行性分析 6
3.1.2 經濟可行性分析 6
3.1.3 運行可行性分析 6
3.2系統性能分析 7
3.2.1 系統安全性 7
3.2.2 數據完整性 7
3.2.3系統可擴展性 8
3.3系統流程分析 8
3.3.1系統登錄流程 9
3.3.2信息添加流程 10
3.3.3信息刪除流程 10
4 系統設計 12
4.1系統概要設計 12
4.2系統功能結構設計 12
4.3數據庫設計 13
4.3.1數據庫E-R圖設計 13
4.3.2 數據庫表結構設計 14
5 系統實現 20
5.1食材分類管理 20
5.2 用戶信息管理 20
5.3 菜譜分類管理 21
5.4菜譜信息管理 21
5.5食材信息管理 22
6系統測試 23
6.1?本系統測試? 23
6.1.1登錄功能測試 23
6.1.2修改密碼功能測試 24
6.2測試結果分析 24
結 論 25
參考文獻 27
致 謝 28

1 緒論

1.1 研究背景
現在大家正處于互聯網加的時代,這個時代它就是一個信息內容無比豐富,信息處理與管理變得越加高效的網絡化的時代,這個時代讓大家的生活不僅變得更加地便利化,也讓時間變得更加地寶貴化,因為每天的每分鐘,每秒鐘這些時間都能讓人們處理大批量的日常事務,這些場景,是之前的手工模式無法與之相抗衡的。對于廚藝交流信息的管理來說,傳統的通過紙質文檔記錄信息的方式已經落后了,依靠手工管理這些信息,不僅花費較長的工作時間,在對記錄各種信息的文檔進行信息統計以及信息核對操作時,也不能及時保證信息的準確性,基于這樣的辦公低效率環境下,對于廚藝交流信息的處理就要提出新的解決方案。因為這個時代的信息一直都在高速發展,要是不抱著發展的觀念看待事情,極有可能被這個市場快速遺忘,甚至被無情地淘汰掉。所以盡早開發一款廚藝交流平臺進行信息的快速處理,既跟上了時代的發展腳步,也能讓自己的核心競爭力有所提升。
1.2目的和意義
互聯網加的時代一方面是加快信息的發展,另一方面也是對傳統行業進行篩選,能夠繼續發展的,肯定是那些能夠充分運用互聯網技術進行自身升級改革的行業。那些停步不前的行業只能就此結束,進而被大家所遺忘。這次設計出來的廚藝交流平臺,它不僅能夠讓管理人員在信息增加,信息的編輯等事務處理上,節省很多的時間,也會砍掉一部分的人工成本,節省不必要開支的資金。另外,此系統的操作界面是可視化的界面,管理人員無需付費培訓就能盡快上手。廚藝交流平臺的開發意義如下:
1、管理人員再也不用在查詢信息上花費大量寶貴的時間了,通過信息關鍵詞字段就可以在幾秒內獲取需要的信息,在各種突發事件面前管理人員也不用慌張,可以從容淡定地處理各種相關信息。
2、該系統在每天的24小時期間都是不會停止服務的,只要有信息操作的需要,管理人員都能使用常用的360瀏覽器,或者百度瀏覽器,2345瀏覽器等大眾瀏覽器都能登錄系統,然后操作對應的功能。
3、有了這款信息管理類操作軟件,所有需要進行處理的數據不用在紙質版本的文檔上進行記載,而是基于電腦進行信息錄入。
4、廚藝交流信息都是通過網站進行顯示,其實質是這些信息都保存在網站對應的數據庫里面。只要操作員不去惡意刪除信息,那么這些信息將會永久保存。
1.3 論文結構安排
編寫廚藝交流平臺相對應的論文,其實就是對開發完成的程序進行再次解讀的過程。本論文從七個方面的內容講解了開發的程序,具體內容如下:
第一個部分:就是論文的緒論,這個部分就是介紹在什么樣的背景下開發的程序,以及這個程序開發出來具有什么意義等內容。
第二個部分:就是介紹開發這個程序使用了什么技術,使用什么數據庫保存程序的數據信息,程序開發的語言是使用的什么語言等內容。
第三個部分:就是介紹這個程序開發在現實生活的可行性問題,也講述了程序開發需要設置什么功能等內容。
第四個部分:就是已經知曉程序的大致功能,需要對程序的功能進行更為嚴格的細分,也需要出具相應的功能結構圖,同時,也要設計程序對應的數據庫,包括數據庫里面的數據表的設計等內容。
第五個部分:就是在系統的編碼階段,需要使用編程語言完成程序的功能,完成程序的界面設計,最終以界面實現的效果圖展示設計成果等內容。
第六個部分:就是程序已經完成了開發的前提之下,需要檢測程序的各個模塊是否銜接正常,程序各個功能能否在網絡等一切外部條件正常的情況下運行,這期間要是出現任何錯誤都需要及時記錄并在后期進行修補完善。
第七個部分:就是論文最后的總結部分,描述遇到的問題,采用的解決思路等內容。

2 相關技術

2.1 Spring Boot框架簡介
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。
Spring Boot可以與經典的Java開發工具一起使用或者作為命令行工具安裝。無論如何,需要JavaSDK1.6或者更高版本,本項目用到的是JDK1.8版本。
2.2 B/S架構介紹
在早期的程序開發中,使用得最多的莫過于C/S架構了,現在的生活中軟件在生活的各個方面落地,使用了C/S架構開發出來的軟件也是不在少數的,比如企業日常辦公使用到的微軟的OFFICE軟件,我國自己研發的文檔處理軟件WPS,還有娛樂軟件騰訊的QQ,騰訊的微信,以及電腦上安裝的殺毒軟件金山殺毒軟件,瑞金殺毒軟件等都是C/S架構。但是在Internet網絡盛行之后,鑒于大家對數據信息共享的需求,在原來的C/S架構上進行了升級改進之后,有了現在的主流架構B/S架構,B/S架構就是在C/S架構上多了一個瀏覽器,讓原來的直接訪問服務器的方式,變成了通過瀏覽器去訪問服務器。充分運用到了當下不斷成熟的瀏覽器技術。也讓軟件的開發成本以及維護成本降低了。可以說B/S這種新型的架構模式讓軟件的開發變得便利化。
2.3 MySQL數據庫介紹
有了程序功能的操作,也需要對程序操作的各個功能所產生的數據信息存放在一個固定的倉庫里面,這個所謂的倉庫就是大家最熟悉的程序開發需要使用的數據庫了,數據庫能夠發展到至今的模樣,其實也是經歷了很多的變化歷程的,在最開始由于數據信息處理的需要開始推出最低級的數據管理,這個階段也是數據庫早期的人工管理的階段,后來也經歷了文件管理的階段,這個階段的數據管理因為信息不能夠進行共享,加上管理的數據對配套的程序產生了較強的依賴性,在數據信息管理上也存在很多數據的重復記載造成數據冗余等問題。所以為了解決上述一系列文件管理階段所產生的數據管理的問題,對數據管理方式進行了全方位的升級改造,也就讓數據管理進入了一個全新的階段——數據庫系統的階段。這個階段也是數據庫管理數據的一個全新的相當高級的階段。
說到數據庫,也不得不說數據庫的模型,數據庫擁有的數據模型有網狀,還有層次,以及關系型這三樣數據庫模型。網狀的結構就是把記錄的每條信息都比喻成一個點,點跟點之間也有聯系,最終就形成了一個像網一樣的結構,就是所謂的網狀數據模型。也有對數據記錄使用樹狀結構的方式進行數據保存,這個就是層次數據模型,關系數據庫模型運用在現在市面上常見的數據庫當中了,像本系統開發使用的MySQL數據庫,還有安裝過程比較復雜的Sqlserver數據庫,也有一些比較小巧的關系型數據庫,像Access數據庫,FoxPro數據庫等數據庫。這樣的關系型數據庫將數據表里面的行還有列進行相互關聯形成一個二維矩陣的方式來保存程序所產生的數據信息。
本次之所以選擇MySQL數據庫來當程序數據存放的倉庫,則是因為此數據庫安裝不用費時,也不需要各種百度信息去解決安裝過程中出現的任何問題,而且由于自己的電腦內存比較小,才4個G,為了更好的開發項目程序,針對低配置的電腦選擇MySQL數據庫也是情理之中。
2.4 JAVA語言介紹
在1995年這一年的5月份,著名的Sun Microsystems公司在程序開發設計上面鄭重推出一種面向對象開發的程序設計語言——Java,最開始的時候Java是由詹姆斯.高斯林這位偉大的JAVA之父來進行主導,但是在后來由于各種原因,讓甲骨文公司這個針對商業程序創建了oracle大型數據庫的公司收購了Java。Java的平臺總共算下來有3個,分別為javaME和javaSE以及javaEE這3個java平臺。下面將對其進行分別介紹。
1.在電腦桌面程序的開發上面需要選擇JavaME,這個用得也比較多。
2.企業也會根據工作以及業務需要開發各種軟件,那么就會選用JavcEE這個支持企業版軟件的開發的Java平臺,JavcEE主攻運用在企業領域上面的web應用,JavcEE也在javaSE的基礎上獲得了比如jsp技術 ,Servlet技術等程序開發技術的支持。
3.現在生活中手機的普及化,也使得手機端這樣的移動設備的軟件的興起,JavaME這個迷你版java平臺就能運用于移動端的軟件開發操作。

3 系統分析

3.1系統可行性分析
需要使用大部分精力開發的廚藝交流平臺為了充分降低開發風險,特意在開發之前進行可行性分析這個驗證系統開發是否可行的步驟。本文就會從技術角度,經濟角度,還有用戶使用的程序的運行角度進行綜合闡述。
3.1.1 技術可行性分析
開發程序選擇的是面向對象的,功能強大的,簡單易用的Java程序設計語言,數據庫的開發工具使用到了MySQL數據庫,由于自己之前接觸過一些簡單的程序開發方面的設計作品,所以對Eclipse工具的使用比較熟練,對于數據庫的操作技巧也有一定的積累。另外,程序開發需要在自己電腦上安裝的軟件并不多,在win7操作系統的大環境下,能夠完全搭建好程序開發的操作環境,比如Eclipse工具,MySQL數據庫工具,以及處理程序圖片的Photoshop工具等都能安裝在自己的電腦上。總的說來,開發這個程序在技術上是可以實現的。
3.1.2 經濟可行性分析
開發出來的程序并不是朝著商業程序的方向進行設計開發的,它只是作為一個畢業設計項目進行開發,主要用于檢驗學生在學校所學知識的一個檢驗,也鍛煉學生運用網絡,圖書等工具進行自學的能力。所以開發這個程序軟件并不會涉及到經濟上面的開銷,在開發軟件的選擇上也不會額外付費安裝軟件,在開發軟件的官網上面就可以下載需要的軟件,并根據提示的安裝步驟安裝軟件到自己的電腦上面。總的說來,開發這個程序在經濟上也不存在經費支出。
3.1.3 運行可行性分析
因為這個程序軟件從開始開發到開發截止都是根據用戶的需求進行定制,考慮到此程序軟件是面向廣大普通操作用戶,鑒于他們的知識文化水平,特意開發出一個可操作性強的,能夠很容易讓使用用戶上手的,具有可視化操作界面的一個程序軟件。總的說來,這個程序站在用戶運行程序的角度上分析,是不存在操作難的問題的。用戶只要打開程序就可以免去專人培訓進行程序功能操作。
經過上面從技術的角度,從經濟的角度,從程序運行的角度這三個角度分析現打算開發的程序,可以得出該程序軟件是可以進行開發操作的。
3.2系統性能分析
3.2.1 系統安全性
程序在使用中是不允許其他訪問者隨意竊取程序里面的隱秘信息,也不允許其他操作者越權操作其他管理用戶操作的功能,要真正杜絕這些現象就必須在程序開發之前把程序的安全性給考慮進去。
比如現在很多程序都會把用戶注冊的功能給考慮進去,讓用戶在注冊頁面功能區填寫自己的個人信息,這些數據信息涵蓋了用戶本人的姓名,用戶對程序登錄設置的密碼,用戶經常使用的郵箱,用戶的常用聯系方式還有用戶的所住地址等信息,這些信息都是設計到用戶本人的隱私,那么這些信息在傳輸給程序后臺時,是需要進行管理并保存至對應的數據庫文件里面。要是有人惡意竊取程序的數據信息,也就會讓那些注冊了此程序軟件的用戶的個人隱秘信息都會遭到泄露。這些信息落入其他不法分子手里,他們極有可能根據用戶的隱私信息去騷擾用戶,并把這些信息用于各種商業用途謀取其他非法的利益。所以數據安全性是一個系統能不能使用的首要標準。
3.2.2 數據完整性
數據完整性是確保數據信息是否具有可靠性,是否具有參考價值的一個重要因素,數據信息只描述一部分,或者必有的數據信息反而為空等現象都是代表著這個數據信息不完整,有數據缺陷,這是個很嚴肅的問題,因為這樣的數據信息跟垃圾信息沒什么兩樣。
說到數據完整性,不得不提最常用的程序表單功能。這些表單主要就是提取廣大用戶的數據信息的,需要廣大用戶根據表單上的要求,填寫自己的姓名信息,以及自己的聯系方式信息,有些也會有額外的信息填寫要求,有必須要填的選項,也有不需要必填的選項。假如廣大用戶為了保護自己的隱私,或者不想受到其他人的騷擾,不填寫必填項等信息,廣大用戶在最后提交此表單的時候,往往都是提交不了的。
數據完整性不僅僅限于登記的數據要完整,它也需要程序里面的所有數據信息之間存在關聯,而且這種聯系也是要求不能出差錯的。
由于數據表之間也會存在一定的聯系,所以同一個數據也會出現在另一個表格里面,那么這兩個表格記錄的同一個數據應該是一樣的。不能夠是同樣的數據信息在不同表中不一樣。
3.2.3系統可擴展性
一切事物都是一直在發展,程序員開發軟件也需要帶著發展的思維去進行軟件開發操作,這樣的話,開發出來的程序在應對管理所需時,也會相對應的進行程序升級與更新。不論是功能完善還是數據庫升級都能在原來的基礎上對原有程序進行迭代升級。讓開發出來的程序能夠走得越來越遠。這也是廣大用戶對程序軟件的使用要求。
3.3系統流程分析
管理員假如要操作系統提供的功能,那么管理員就要在系統的登錄界面,填寫管理員登錄的賬號信息,填寫相應的密碼信息,管理員需要保證這兩者能夠驗證身份的賬號以及密碼信息的正確性,這樣管理員就可以通過登錄界面進入系統后臺操作界面。圖3.1就是開發的程序軟件廚藝交流平臺它的操作流程圖。
在這里插入圖片描述

圖3.1 系統操作流程圖
3.3.1系統登錄流程
廚藝交流平臺的登錄流程,針對的角色就是操作員的操作角色。在登錄界面需要的必填信息就是賬號信息,配上登錄的密碼信息就能登錄廚藝交流平臺,需要注意的就是必填的賬號信息和登錄密碼信息,都需要進行驗證,系統會判斷賬號還有填寫的密碼信息的正確性,只有這兩者信息都正確了,就能成功登錄廚藝交流平臺了。系統登錄流程圖如下圖。
在這里插入圖片描述

圖3.2 系統登錄流程圖
3.3.2信息添加流程
用戶在添加信息的界面填寫的任何數據信息也是需要驗證的,系統會判斷用戶填寫信息的格式還有數據信息是不是合法信息,如果用戶填寫的信息是合法內容,系統就會在數據庫對應的數據表里面添加信息。添加信息流程如下圖。
在這里插入圖片描述

圖3.3 添加信息流程圖
3.3.3信息刪除流程
對于那些已經失效的信息,需要用戶及時進行刪除,這樣有利于騰出空間存放其他信息。刪除信息也是先從數據庫對應數據表里面刪除數據,接著就是更新數據表的信息。這樣刪除的數據,在用戶操作界面就查看不到了。信息刪除流程如下圖所示。
在這里插入圖片描述

圖3.4 信息刪除流程圖

4 系統設計

4.1系統概要設計
廚藝交流平臺并沒有使用C/S結構,而是基于網絡瀏覽器的方式去訪問服務器,進而獲取需要的數據信息,這種依靠瀏覽器進行數據訪問的模式就是現在用得比較廣泛的適用于廣域網并且沒有網速限制要求的B/S結構,圖4.1就是開發出來的程序工作原理圖。
在這里插入圖片描述

圖4.1 程序工作的原理圖
4.2系統功能結構設計
下圖就是系統功能結構圖。
在這里插入圖片描述

圖4.1 系統功能結構圖
4.3數據庫設計
4.3.1數據庫E-R圖設計
程序設計是離不開對應數據庫的設計操作的,這樣的做法就是減少數據對程序的依賴性,所以數據庫的設計也是需要花費大量的日常時間來進行設計的,在設計中對程序開發需要存儲的數據信息進行實體劃分,先確認實體,然后設計實體的屬性等操作,這種設計就是數據庫設計里面不能少的必須有的E-R模型設計。為了降低程序設計的對應的數據庫設計難度,開發人員也可以使用相應的工具來進行E-R模型設計,現在市面上設計E-R模型的工具有PowerDesigner建模工具,Navicat制作工具,還有微軟的Visio繪圖工具。為了簡便起見,本程序在設計E-R模型的時候,就選用了微軟的Visio這款功能強大,操作便利的繪圖工具。
下面就展示廚藝交流平臺的實體E-R圖。
(1)下圖就是商品信息實體E-R圖
在這里插入圖片描述

圖4.7 商品信息實體E-R圖
(2)下圖就是菜譜分類實體E-R圖
在這里插入圖片描述

圖4.8 菜譜分類實體E-R圖
(3)下圖就是商品分類實體E-R圖
在這里插入圖片描述

圖4.9 商品分類實體E-R圖
4.3.2 數據庫表結構設計
本次程序開發選用的數據庫管理工具是MySQL數據管理工具,使用它存放數據也需要創建程序對應的數據庫文件,并命名剛創建的數據庫文件,有了數據庫也需要創建各種數據表來充實數據庫,在數據表的創建中,不僅需要對數據表命名,也需要對數據表的字段進行設計,包括每個數據表里面需要設置的字段名稱,字段對應的數據類型信息,字段的主鍵設置這個也是不可缺少的,因為每個數據表里面的主鍵就是標記著這個數據表跟其他數據表相區分的唯一標志。就相當于生活中的每個人都有姓名,但是上網搜索自己的名字,會發現全國上下有很多人的名字跟自己的名字一模一樣,包括姓氏以及名字,區分每個人的唯一信息就是每個人的身份證號信息,主鍵在數據表里面也是起著這樣的重要作用。下面就介紹本次開發的程序廚藝交流平臺的數據表結構信息。
表4.1 菜譜分類
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
caipufenlei varchar(200) 否 菜譜分類
表4.2 菜譜信息
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
caipinbianhao varchar(200) 是 NULL 菜品編號
caipinmingcheng varchar(200) 是 NULL 菜品名稱
caipufenlei varchar(200) 是 NULL 菜譜分類
kouwei varchar(200) 是 NULL 口味
nandu varchar(200) 是 NULL 難度
pengrenshizhang varchar(200) 是 NULL 烹飪時長
tupian varchar(200) 是 NULL 圖片
yuancailiao longtext 是 NULL 原材料
caipinjieshao longtext 是 NULL 菜品介紹
thumbsupnum int(11) 是 0 贊
crazilynum int(11) 是 0 踩
clicknum int(11) 是 0 點擊次數
表4.3 購物車表
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
tablename varchar(200) 是 shangpinxinxi 商品表名
userid bigint(20) 否 用戶id
goodid bigint(20) 否 商品id
goodname varchar(200) 是 NULL 商品名稱
picture varchar(200) 是 NULL 圖片
buynumber int(11) 否 購買數量
price float 是 NULL 單價
discountprice float 是 NULL 會員價
表4.4 健康文章
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
wenzhangbiaoti varchar(200) 是 NULL 文章標題
wenzhangfengmian varchar(200) 是 NULL 文章封面
wenzhangleixing varchar(200) 是 NULL 文章類型
fabushijian datetime 是 NULL 發布時間
wenzhangneirong longtext 是 NULL 文章內容
表4.5 美食日志
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
rizhibianhao varchar(200) 是 NULL 日志編號
rizhibiaoti varchar(200) 是 NULL 日志標題
rizhifengmian varchar(200) 是 NULL 日志封面
yonghuzhanghao varchar(200) 是 NULL 用戶賬號
yonghuxingming varchar(200) 是 NULL 用戶姓名
fabushijian datetime 是 NULL 發布時間
meishirizhi longtext 是 NULL 美食日志
thumbsupnum int(11) 是 0 贊
crazilynum int(11) 是 0 踩
表4.6 訂單
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
orderid varchar(200) 否 訂單編號
tablename varchar(200) 是 shangpinxinxi 商品表名
userid bigint(20) 否 用戶id
goodid bigint(20) 否 商品id
goodname varchar(200) 是 NULL 商品名稱
picture varchar(200) 是 NULL 商品圖片
buynumber int(11) 否 購買數量
price float 否 0 價格/積分
discountprice float 是 0 折扣價格
total float 否 0 總價格/總積分
discounttotal float 是 0 折扣總價格
type int(11) 是 1 支付類型
status varchar(200) 是 NULL 狀態
address varchar(200) 是 NULL 地址
tel varchar(200) 是 NULL 電話
consignee varchar(200) 是 NULL 收貨人
表4.7 商品分類
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
shangpinfenlei varchar(200) 否 商品分類
表4.8 商品信息
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
shangpinmingcheng varchar(200) 是 NULL 商品名稱
shangpinbianhao varchar(200) 是 NULL 商品編號
shangpinfenlei varchar(200) 是 NULL 商品分類
tupian varchar(200) 是 NULL 圖片
shangpinxiangqing longtext 是 NULL 商品詳情
price float 否 價格
onelimittimes int(11) 是 -1 單限
alllimittimes int(11) 是 -1 庫存
表4.9 食材分類
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
shicaifenlei varchar(200) 否 食材分類
表4.10 食材信息
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
shicaimingcheng varchar(200) 是 NULL 食材名稱
shicaichandi varchar(200) 是 NULL 食材產地
shicaididian varchar(200) 是 NULL 食材地點
shicaireliang varchar(200) 是 NULL 食材熱量
fabushijian datetime 是 NULL 發布時間
shicaifengmian varchar(200) 是 NULL 食材封面
shiyongyiji longtext 是 NULL 食用宜忌
xuangoujiqiao longtext 是 NULL 選購技巧
thumbsupnum int(11) 是 0 贊
crazilynum int(11) 是 0 踩
表4.11 收藏表
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
userid bigint(20) 否 用戶id
refid bigint(20) 是 NULL 收藏id
tablename varchar(200) 是 NULL 表名
name varchar(200) 否 收藏名稱
picture varchar(200) 否 收藏圖片
表4.12 管理員信息表
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
username varchar(100) 否 用戶名
password varchar(100) 否 密碼
role varchar(100) 是 管理員 角色
addtime timestamp 否 CURRENT_TIMESTAMP 新增時間
表4.13 用戶
字段 類型 空 默認 注釋
id (主鍵) bigint(20) 否 主鍵
addtime timestamp 否 CURRENT_TIMESTAMP 創建時間
yonghuzhanghao varchar(200) 否 用戶賬號
yonghuxingming varchar(200) 否 用戶姓名
mima varchar(200) 否 密碼
xingbie varchar(200) 是 NULL 性別
nianling int(11) 是 NULL 年齡
lianxidianhua varchar(200) 是 NULL 聯系電話
dianziyouxiang varchar(200) 是 NULL 電子郵箱
money float 是 0 余額

5 系統實現

5.1食材分類管理
管理員管理食材分類,可以添加,修改,刪除食材分類信息。下圖就是食材分類管理頁面。
在這里插入圖片描述

圖5.1 食材分類管理頁面
5.2 用戶信息管理
管理員管理用戶信息,可以添加,修改,刪除用戶信息信息。下圖就是用戶信息管理頁面。
在這里插入圖片描述

圖5.2用戶信息管理頁面
5.3 菜譜分類管理
管理員管理菜譜分類,可以添加,修改,刪除菜譜分類信息。下圖就是菜譜分類管理頁面。
在這里插入圖片描述

圖5.3 菜譜分類管理頁面
5.4菜譜信息管理
管理員管理菜譜信息,可以添加,修改,刪除菜譜信息信息。下圖就是菜譜信息管理頁面。
在這里插入圖片描述

圖5.4 菜譜信息管理頁面
5.5食材信息管理
管理員管理食材信息,可以添加,修改,刪除食材信息信息。下圖就是食材信息管理頁面。
在這里插入圖片描述

圖5.5 食材信息管理頁面

6系統測試

為了保證所開發出來的系統質量過關,讓所開發出來的系統具備可靠性并能夠投入運行使用,這就需要進行系統開發的最后一個關鍵步驟,那就是系統測試。可以說系統測試就是對系統開發前面的步驟,比如系統分析與設計等進行復查。盡管在程序開發期間,人們一直很注意避免系統出錯,但這樣還是會讓很多的潛在的系統缺陷不容易被人們肉眼察覺,只有經過反復不斷地測試才能及時暴露系統的運行問題,這個時候進行系統問題的糾正就能真正避免財產損失,截止到目前,市面上還沒有從根本上解決開發出的程序的正確性證明。所以發現系統的錯誤以及缺陷的重要手段還是要依賴于系統測試。
6.1?本系統測試?
本系統的測試結合了計算機的軟件以及硬件系統,對程序的全部功能,還有程序的運行穩定性等性能上進行了測試,測試過程中也再次對程序配套數據庫的連接問題進行了系統化地測試操作。接下來就選取系統的一些功能進行測試演示。
6.1.1登錄功能測試
程序的登錄界面實際上就是為了系統的安全,需要驗證用戶的身份信息而進行設置的,用戶的身份信息就是依靠自己的賬號,還有登錄密碼信息進行驗證。用戶的登錄信息有一個存在問題,系統就會一直停在登錄界面,并給出錯誤原因的提示。表6.1 就是登錄功能測試的數據。
表6.1 登錄功能測試的數據
用戶名 密碼 角色 結果
aaa bbb 管理員角色 失敗登錄
bbb aaa 管理員角色 失敗登錄
aaa aaa 管理員角色 成功登錄

6.1.2修改密碼功能測試
修改密碼其實就是害怕用戶的密碼信息遭到泄露,導致系統的安全系數下降,因此,就要要求用戶每個月修改一次密碼。表6.2就是修改密碼功能測試數據。
表6.2 修改密碼功能測試數據
舊密碼 新密碼 結果
aaa 修改失敗
bbb ccc 修改失敗
aaa ccc 修改成功
6.2測試結果分析
經過了程序開發的最后一個測試環節,對開發的程序軟件廚藝交流平臺也下了定論,在測試期間程序的功能能夠跟最開始的用戶需求文檔保持一致性,程序的界面設計以及數據庫設計也都是參照用戶的需求完成設計的。另外,程序開發也充分解決了系統的升級以及長時間保持穩定運行的問題,說明該程序軟件還是挺可靠的,進行驗收上交也是達標的。總的說來,截止到目前,該廚藝交流平臺功能可靠,有著簡單的操作流程,能夠從一定程度上解決數據信息操作方面出現的各種問題。

結 論

開發廚藝交流平臺是作為畢設作品進行設計的,這個畢設作品是我在校進行知識學習的一個畢業考核項目,也是檢驗我通過網絡工具,圖書工具等學習工具進行自學的能力水平,讓我在根據程序開發的需求分析初步完成程序功能之外,還接觸了程序的測試過程,了解程序測試的具體的過程,以及遇到問題怎么去尋找相應的解決辦法等等,畢業作品的制作以及設計才是學校對我真正的考驗。
在程序軟件沒能進行開發之前,我去了學校的圖書館借了有關數據庫操作的書籍,在查看了sqlserver和MySQL兩種數據庫的相關知識之后,我最后選擇了我比較熟悉的MySQL數據庫。在編程語言的抉擇上,由于自己之前接觸過Java程序的開發,所以為了讓我盡快在短時間內完成程序制作,我確定用Java編程語言進行程序編程。另外我從百度上下載了很多的有關信息增加,信息刪除等操作的源代碼,并通過不斷調試以及完成配套的數據庫的設計,開始完成程序的各個部分的功能。每當我粗心大意,致使我深陷程序開發困擾不能自拔之時,值得慶幸的是,我就會得到老師,還有我的寢室同學的耐心指導。
歷經長達幾個月的畢業作品制作,我憑借自己的知識技能,還有大家的指導幫助,能夠在學校規定的時間段之內提交畢業作品。雖然已經算是完成了畢業作品,但是付出了這么多心血,還是想把這個作品做得更加完美一點。針對我的畢業作品廚藝交流平臺,我覺得還有很多方面需要完善,第一就是界面上需要細微調整,比如色彩搭配有點違背廣眾的審美,需要細微調整,還有系統里面的字體大小也需要調大一點,太小的字體看起來有些費眼。然后在程序的功能上因為自己的入門開發水平的影響,所以目前只能做到這個境界,這個系統相比其他類似系統來說功能很簡單,邏輯結構設計得也比較合理。
自己一個人完成程序的開發,我不僅親自體驗了程序的開發流程,體驗到了程序開發的各種不易。這種體驗也還加深了我對知識的尊重。學海無涯,知識不是大學短短四年就能學完的,在大學學到的知識在最終經歷檢驗時,才會深深地明白自己的知識積累原來還很淺薄。所以今后不管身在何處,自己的學習心態一定要時刻體現出來,要深刻明白知識學到手里就是自己的。同時,自己也不必過多抱怨學到的知識沒有用處,相信學到的知識總會有派上用處的那天。不要等到需要用時再去學習知識,那樣就會導致自己錯失很多本該屬于自己的機遇。

參考文獻

[1]張孝祥,徐明華.JAVA基礎與案例開發詳解[M].清華大學出版社,2012.
[2]康牧.JSP動態網站開發實用教程[M].清華大學出版社,2011.
[3]劉亞賓.精通Eclipse–JAVA技術大系[M].電子工業出版社,2015.
[4]張知青.基于關系數據庫的查詢方法及優化技術分析[J].煤炭技術,2012,31(05):218-220.
[5]趙鋼.JSP Servlet+EJB的Web模式應用研究[J].電子設計工程,2013,21(13):47-49
[6]肖英.解決JSP/Servlet開發中的中文亂碼問題[J].科技傳播,2011,(1)11-25
[7]衛紅春.信息系統分析與設計[M].北京:清華大學出版社,2009.
[8]于萬波.網站開發與應用案例教程[M].清華大學出版社,2009.
[9]黎連業,王華,李淑春.軟件測試與測試技術[M].清華大學出版社,2009.
[10]宋麗娜.基于JSP的Web開發中文亂碼問題的研究與解決[J].電子技術,2013,42(11):5-7.
[11]汪君宇.基于JSP的Web應用軟件開發技術分析[J].科技創新與應用,2018(16):158-160.
[12]王建國.數據庫設計在網站開發中的應用[J].山東農業工程學院學報,2017,34(04):158-159+164.
[13]曾志明.網站開發技術的比較研究[J].電腦知識與技術,2010,6(05):1075-1078.
[14]朱鈞.基于角色的jsp通用權限系統設計與實現[D].山東大學,2014.
[15]陳志譽. Java工具及其調度方法研究[D].華南理工大學,2018.

致 謝

在這個畢業設計即將完成的最后的時刻,我很想對我的老師,還有我周邊的朋友以及我的同班同學們表示我的謝意,謝謝你們在畢業設計的制作階段對我提供的各種幫助,我的指導老師給我的畢業設計提供了許多種指導方案,包括論文大綱的安排,程序功能結構的設計,以及程序的亮點等部分都很有耐心的進行了及時地指導,讓我的畢業設計能夠達到學院驗收的水平。另外還有陪伴我的同學們以及朋友們,我們在這幾個月一起泡圖書館,一起討論以及制作畢業設計,讓我在進行畢設作品創作中一直很有動力。特別是在我進行程序文檔的編寫過程中的時候,有很多格式問題還有文檔內容的問題,都是你們一一指出并糾正,讓我少走了很多彎路。
最后的時刻,我要感謝我的大學,感謝所有學校的領導還有老師們,正因為有你們,我才能夠在大學這幾年學到很多有用的知識,才能更好地成長起來!相信我在畢業之后步入社會,我也能把學校所學到的知識進行靈活運用,我也會注重在社會上進行學習!讓自己步入一個更高的臺階!遇到更好的自己!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/715625.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/715625.shtml
英文地址,請注明出處:http://en.pswp.cn/news/715625.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何優雅的刪除undo表空間

前言 因磁盤空間不足,需要將undo表空間遷移到其它的存儲空間 本文介紹如何優雅的刪除undo表空間,并在新的存儲空間中創建新的undo表空間 詳細操作步驟如下: 1、查看默認undo表空間 SQL>show parameter undo NAME …

Redis的主從搭建

1.準備兩臺機器&#xff0c;安裝好redis 2.修改從服務器的redis配置 slaveof <masterip> <masterport>兩個參數 masterip 主的ip 主的端口號 masterport 3. 啟動redis 1.先啟動主機redis 2.再啟用從機redis 主機redis日志打印 從機redis 日志打印

【python】1.python3.12.2和pycharm社區版的安裝指南

歡迎來CILMY23的博客喔&#xff0c;本篇為【python】1.python3.12.2和pycharm社區版的安裝指南&#xff0c;感謝觀看&#xff0c;支持的可以給個一鍵三連&#xff0c;點贊關注收藏。 目錄 一、python3.12.2的下載與安裝 1.1下載 1.2安裝 二、pycharm的安裝 2.1下載安裝 2…

Bootstrap的使用

目錄 js的引入&#xff1a; 1.行內式 2.嵌入式 3.外鏈式 Bootstrap:的引入 注意事項&#xff1a; 條件注釋語句&#xff1a; 柵格系統&#xff1a; 列嵌套&#xff1a; 列偏移&#xff1a; 列排序&#xff1a; 響應式工具&#xff1a; Bootstrap的字體圖標的使用&a…

2024最新算法:河馬優化算法(Hippopotamus optimization algorithm,HO)求解23個基準函數,提供MATLAB代碼

一、河馬優化算法 河馬優化算法&#xff08;Hippopotamus optimization algorithm&#xff0c;HO&#xff09;由Amiri等人于2024年提出&#xff0c;該算法模擬了河馬在河流或池塘中的位置更新、針對捕食者的防御策略以及規避方法。河馬優化算法的靈感來自河馬生活中觀察到的三…

【金三銀四】Mysgl優化了解?什么情況下會導致SQL索引失效?如何寫出高效SQL與優化慢SQL

Mysgl優化 MySQL 優化是指對 MySQL 數據庫的配置、表設計、查詢語句等進行針對性的優化&#xff0c;以提高數據庫的性能和效率。這包括但不限于合理設計數據庫表結構、編寫高效的 SQL 查詢語句、創建合適的索引以及調整數據庫服務器的參數等。 當MySQL單表記錄數過大時&#xf…

【測試工具】Fiddler

1.Fiddler簡介 Fiddler是位于客戶端和服務器端的HTTP代理&#xff0c;能夠記錄客戶端和服務器之間的所有 HTTP請求&#xff0c;是web調試的利器。既然是代理&#xff0c;也就是說&#xff1a;客戶端的所有請求都要先經過Fiddler&#xff0c;然后轉發到相應的服務器&#xff0c…

【應用多元統計分析】--數據矩陣及R語言表示

在多元分析中&#xff0c;數據通常以矩陣的形式出現&#xff0c;下面結合R語言介紹基本的矩陣運算。主要包括&#xff1a;創建矩陣向量&#xff0c;矩陣加減、乘積&#xff0c;矩陣的逆&#xff0c;行列式的值&#xff0c;特征值與特征向量&#xff0c;QR分解&#xff0c;奇異值…

微前端-乾坤《》

微前端 一個應用&#xff0c;當不斷迭代的時候&#xff0c;功能會越來越多&#xff0c;代碼量隨著也會變得越來越大。進而代碼之間的耦合性會變高&#xff0c;這樣導致開發和維護很糟心&#xff0c;動一發而牽全身。于是有了微前端來解這個問題&#xff0c;按功能可以將這個應…

day02-JavaScript-Vue

文章目錄 1 JavaScript1.1 介紹 1.2 引入方式1.3 基礎語法1.3.1 書寫語法1.3.2 變量1.3.3 數據類型和運算符 1.4 函數1.4.1 第一種定義格式1.4.2 第二種定義格式 1.5 JavaScript對象1.5.1 基本對象1.5.1.1 Array對象語法格式特點屬性和方法 1.5.1.2 String對象語法格式屬性和方…

17.來自Sora的奪舍妄想——享元模式詳解

OpenAI 的 Sora 模型面世之后&#xff0c;可以說人類抵御AI的最后陣地也淪陷了。 在此之前&#xff0c;人們面對AI交互式對話&#xff0c;AI制圖&#xff0c;AI建模之類的奇跡時&#xff0c;還可以略微放肆的說&#xff1a;“的確很神奇&#xff0c;這畢竟還是比人類世界低了一…

Redis基本知識

一、什么是Redis Redis是一種基于內存的數據庫&#xff0c;對數據的讀寫操作都是在內存中完成&#xff0c;因此讀寫速度非常快&#xff0c;用于存儲鍵值對、緩存、消息隊列、分布式鎖等。 二、Redis和mencached的區別 相同&#xff1a;都是基于內存的數據庫&#xff0c;讀寫都…

2024年騰訊云部署幻獸帕魯服務器,如何選擇合適的服務器配置套餐暢玩游戲?

選擇合適的服務器配置套餐以暢玩《幻獸帕魯》游戲&#xff0c;首先需要考慮的是玩家數量和對服務器性能的需求。根據騰訊云提供的配置推薦&#xff0c;對于4到8人的玩家&#xff0c;推薦配置為4核16G12M&#xff1b;而10到20人的玩家則建議選擇8核32G22M配置。這是因為《幻獸帕…

小程序頁面指定區域局部滾動,做上拉和觸底刷新

業務需求&#xff1a;在頁面某個固定區域滑動 思路&#xff1a;滑動高度 頁面高度 - 自定義導航高度&#xff08;不是自己自定義的導航可以省略&#xff09;- 按鈕高度 - 單詞數高度 實現 &#xff1a; 1.數據展示區內使用scroll-view&#xff0c;設置y軸滾動&#xff08;…

swoole

php是單線程。php是靠多進程來處理任務&#xff0c;任何后端語言都可以采用多進程處理方式。如我們常用的php-fpm進程管理器。線程與協程,大小的關系是進程>線程>協程,而我們所說的swoole讓php實現了多線程,其實在這里來說,就是好比讓php創建了多個進程,每個進程執行一條…

初階數據結構:二叉樹

目錄 1. 樹的相關概念1.1 簡述&#xff1a;樹1.2 樹的概念補充 2. 二叉樹2.1 二叉樹的概念2.2 二叉樹的性質2.3 二叉樹的存儲結構與堆2.3.1 存儲結構2.3.2 堆的概念2.3.3 堆的實現2.3.3.1 堆的向上調整法2.3.3.2 堆的向下調整算法2.3.3.3 堆的實現 1. 樹的相關概念 1.1 簡述&a…

域名及地址正確外,若依后臺無法正常加載頁面和退出報404問題

寫小程序退出的時候&#xff0c;另外寫了一個自定義退出處理類&#xff0c;里面的響應瀏覽器的代碼每次都走。因為原來也有個退出處理類&#xff0c;所以先后走了2次&#xff0c;因為就出現了問題。 LogoutSuccessHandlerImpl類里的&#xff1a; ServletUtils.renderString(r…

【C++ AVL樹】

文章目錄 AVL樹AVL樹的概念AVL樹節點的定義AVL樹的插入AVL樹的旋轉右單旋左單旋左右雙旋右左雙旋 代碼實現 總結 AVL樹 AVL樹的概念 二叉搜索樹在順序有序或接近有序的情況下&#xff0c;而插入搜索樹將退化為單叉樹&#xff0c;此時查找的時間復雜度為O(n)&#xff0c;效率低…

鴻蒙Harmony應用開發—ArkTS聲明式開發(通用屬性:顏色漸變)

設置組件的顏色漸變效果。 說明&#xff1a; 從API Version 7開始支持。后續版本如有新增內容&#xff0c;則采用上角標單獨標記該內容的起始版本。 linearGradient linearGradient(value: { angle?: number | string; direction?: GradientDirection; colors: Array; repea…

mamba-ssm安裝building wheel卡著不動后error...避坑解決方法

文章目錄 方法1、下載whl文件到本地后pip install安裝成功后驗證&#xff1a; 方法2、拉取Docker鏡像 對于項目中用到MambaIR的小伙伴&#xff0c;需要pip安裝 causal_conv1d和 mamba-ssm兩個包及其依賴&#xff1a; torch packing transformersMambaIR-Github主頁&#xff0…