国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446

這篇具有很好參考價(jià)值的文章主要介紹了springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

摘?要

隨著智能手機(jī)的普及和4G網(wǎng)絡(luò)的發(fā)展,以O(shè)20為代表的互聯(lián)網(wǎng)+服務(wù)模式從衣食住行等方方面面改變著我們的生活方式?;谛〕绦虻男@招聘系統(tǒng)主要功能模塊包括用戶管理,招聘資訊、招聘職位、簡歷投遞、面試邀請等,采取面對對象的開發(fā)模式進(jìn)行軟件的開發(fā)和硬體的架設(shè),能很好的滿足實(shí)際使用的需求,完善了對應(yīng)的軟體架設(shè)以及程序編碼的工作,采取MySQL作為后臺(tái)數(shù)據(jù)的主要存儲(chǔ)單元,采用Spring boot框架、JSP技術(shù)、Ajax技術(shù)進(jìn)行業(yè)務(wù)系統(tǒng)的編碼及其開發(fā),實(shí)現(xiàn)了本系統(tǒng)的全部功能。本次報(bào)告,首先分析了研究的背景、作用、意義,為研究工作的合理性打下了基礎(chǔ)。針對基于小程序的校園招聘系統(tǒng)的各項(xiàng)需求以及技術(shù)問題進(jìn)行分析,證明了系統(tǒng)的必要性和技術(shù)可行性,然后對設(shè)計(jì)系統(tǒng)需要使用的技術(shù)軟件以及設(shè)計(jì)思想做了基本的介紹,最后來實(shí)現(xiàn)基于小程序的校園招聘系統(tǒng)的部署與運(yùn)行。

關(guān)鍵詞:校園招聘系統(tǒng);Springboot框架;MySQL數(shù)據(jù)庫

Design and Implementation of Campus Recruitment System Based on Small Programs in Springboot

Abstract

With the popularization of smart phones and the development of 4G networks, the Internet plus service model represented by O20 has changed our lifestyle in terms of food, clothing, housing and transportation. The main functional modules of the campus recruitment system based on small programs include user management, recruitment information, recruitment positions, resume delivery, interview invitation, etc. The object-oriented development model is adopted for software development and hardware installation, which can well meet the needs of actual use, improve the corresponding software installation and program coding work, take MySQL as the main storage unit of background data, adopt the Spring boot framework JSP technology and Ajax technology are used to code and develop the business system and realize all the functions of the system. This report first analyzes the background, role and significance of the research, laying a foundation for the rationality of the research work. This paper analyzes the requirements and technical problems of the campus recruitment system based on small programs, proves the necessity and technical feasibility of the system, and then makes a basic introduction to the technical software and design ideas needed to design the system, and finally realizes the deployment and operation of the campus recruitment system based on small programs.

Key words:Campus recruitment system; Springboot framework; MySQL database

目 ?錄

第1章 緒論

1.1?研究背景與意義

1.2?研究內(nèi)容

第2章 相關(guān)技術(shù)介紹

2.1?J2EE技術(shù)

2.2 MVVM模式

2.3 小程序框架以及目錄結(jié)構(gòu)介紹

2.4 Springboot框架

2.5?Mysql數(shù)據(jù)庫

第3章 系統(tǒng)分析

3.1?可行性分析

3.2?功能需求分析

3.2.1?前臺(tái)用戶功能

3.2.2?后臺(tái)管理員功能

3.3?非功能需求分析

3.4?安全性需求分析

3.4.1?系統(tǒng)的安全性

3.4.2?數(shù)據(jù)的安全性

3.5?數(shù)據(jù)流程分析

第4章 系統(tǒng)設(shè)計(jì)

4.1?系統(tǒng)架構(gòu)設(shè)計(jì)

4.2?系統(tǒng)功能設(shè)計(jì)

4.3?數(shù)據(jù)庫設(shè)計(jì)

4.3.1?數(shù)據(jù)庫概念設(shè)計(jì)

4.3.2?數(shù)據(jù)庫表設(shè)計(jì)

第5章 系統(tǒng)實(shí)現(xiàn)

5.1?注冊模塊的實(shí)現(xiàn)

5.2?登錄模塊的實(shí)現(xiàn)

5.3?用戶資料修改模塊的實(shí)現(xiàn)

5.4?招聘職位管理模塊的實(shí)現(xiàn)

5.5?簡歷投遞模塊的實(shí)現(xiàn)

第6章 系統(tǒng)測試

6.1?測試目的

6.2?功能測試

6.3?性能測試

第7章 總結(jié)與展望

參考文獻(xiàn)

致謝

  1. 緒論
    1. 研究背景與意義

隨著網(wǎng)絡(luò)的快速發(fā)展,人們已經(jīng)進(jìn)入了信息時(shí)代,人們獲得信息并進(jìn)行相關(guān)信息的交流已經(jīng)不只是停留在報(bào)紙、電視、收音機(jī)廣播等傳統(tǒng)媒體,特別是校園招聘問題,更需要不斷更新與大量招聘相關(guān)信息。如果招聘機(jī)構(gòu)能夠開發(fā)并提供一個(gè)專門為就學(xué)校就業(yè)信息和校園招聘的平臺(tái),這樣就業(yè)者就能快速有效的獲得相關(guān)招聘信息,企業(yè)也可以快速發(fā)布招聘信息,并且學(xué)院也可輕松瀏覽掌握到各個(gè)應(yīng)聘者的就業(yè)信息。因此本課題的選擇具有一定實(shí)踐意義。我國對校園招聘的研究主要形成于二十世紀(jì)末期。隨著社會(huì)對人才大量的需求逐漸凸顯,我國對校園招聘的發(fā)展、建設(shè)能力略顯陳舊,難以滿足當(dāng)下大量人員就業(yè)的發(fā)展與流失現(xiàn)狀。我國研究主要從以往的經(jīng)驗(yàn)入手,對校園招聘進(jìn)行探索、研究相關(guān)的管理方法。直到近十年,少數(shù)學(xué)者在著眼于校園發(fā)展時(shí)對校園招聘的發(fā)展產(chǎn)生了較多的關(guān)注并進(jìn)行了相關(guān)的學(xué)術(shù)研究,有關(guān)論文,逐年遞增,使我們對校園招聘的了解更加深刻。

隨著高等院校的迅速發(fā)展,專業(yè)和高校學(xué)生人數(shù)的不斷增加,校園招聘變成了一項(xiàng)相當(dāng)繁重的工作。伴隨著高校信息化建設(shè)的快速普及,開發(fā)出一套科學(xué)化的基于小程序的校園招聘系統(tǒng)尤為迫切,基于小程序的校園招聘系統(tǒng)的開發(fā)可以提高高校就業(yè)管理效率,為就業(yè)管理人員創(chuàng)造一個(gè)更人性化、規(guī)范化、多功能的管理平臺(tái)。

    1. 研究內(nèi)容

基于小程序的校園招聘系統(tǒng)的開發(fā)及實(shí)現(xiàn),所需要的工作內(nèi)容:

(1)首先是確定選題,確定好所要做的系統(tǒng),并對系統(tǒng)的背景及現(xiàn)在面臨的一些問題等進(jìn)行系統(tǒng)的初步確認(rèn)。

(2)系統(tǒng)確認(rèn)完成后,結(jié)合系統(tǒng)開發(fā)的需求進(jìn)行確認(rèn)系統(tǒng)開發(fā)所使用的技術(shù),基于小程序的校園招聘系統(tǒng)的開發(fā)使用Springboot框架,數(shù)據(jù)庫進(jìn)行平臺(tái)的搭建開發(fā),確認(rèn)好使用的技術(shù)進(jìn)行技術(shù)分析,所使用的技術(shù)是否可以完成系統(tǒng)的實(shí)現(xiàn)。

(3)確定好系統(tǒng)使用的技術(shù),進(jìn)行在線確認(rèn)系統(tǒng)所劃分的用戶角色,并且根據(jù)用戶角色劃分確定所要設(shè)計(jì)的功能模塊,對基于小程序的校園招聘系統(tǒng)的設(shè)計(jì)主要?jiǎng)澐謩e為管理員和用戶角色,并所使用的功能模塊也相應(yīng)不同,但是系統(tǒng)的數(shù)據(jù)庫實(shí)現(xiàn)的內(nèi)容是交互的,用戶可以隨時(shí)根據(jù)自己的需求進(jìn)行菜品信息查詢以及訂餐,對于系統(tǒng)工作人員可以根據(jù)自己的分管內(nèi)容進(jìn)行在線信息的處理及操作,管理員獲取到所有用戶的詳細(xì)數(shù)據(jù)信息,并根據(jù)需求進(jìn)行第一時(shí)間處理解決。

(4)系統(tǒng)的功能模塊確認(rèn)完成后進(jìn)行程序及界面的設(shè)計(jì),設(shè)計(jì)完成后,并且通過測試來判斷程序是否完善,對于系統(tǒng)測試,需要不同的用戶進(jìn)行不同的內(nèi)容編輯及提交,及使用不同的測試方式找出程序中存在的漏洞,并對程序出現(xiàn)的漏洞問題進(jìn)行在線解決處理,如果測試系統(tǒng)沒有任何問題時(shí),可以將系統(tǒng)上傳進(jìn)行正式操作使用。

  1. 相關(guān)技術(shù)介紹
    1. J2EE技術(shù)

人可以掌握多門外語,而一個(gè)計(jì)算機(jī)科學(xué)家精通的大多是編程語言,它不是人類的自然語言,比如C語言、Java、Perl等等。由于不同的公司開發(fā)出的“中間件”不夠規(guī)范,所以Sun公司推出J2EE,用這個(gè)標(biāo)準(zhǔn)來解決弊病。它提供了良好的機(jī)制,讓每個(gè)層次允許與之相對的服務(wù)器、組件運(yùn)行,使得系統(tǒng)的搭建穩(wěn)定可用、開發(fā)高效、維護(hù)方便。

    1. MVVM模式

MVVM模式是常用的開發(fā)模式,主要是在代碼實(shí)現(xiàn)上將其分為M層、V層和C層。

視圖(View)代表用戶交互界面,一個(gè) Web 應(yīng)用就可能有很多的界面,在 MVVM?模式中,視圖僅僅處理的只有數(shù)據(jù)采集、處理,還有用戶的請求, 并不包括業(yè)務(wù)流程的處理,業(yè)務(wù)流程由模型(Model)來處理。

模型(Model)就是業(yè)務(wù)流程/狀態(tài)的處理及業(yè)務(wù)規(guī)則的制定。模型處理業(yè)務(wù)流程的過程其它層是無法看見了的,它就像黑箱子,在接受視圖請求的數(shù)據(jù)之后,然后返回最終的處理結(jié)果。MVVM?最主要的核心就是業(yè)務(wù)模型的設(shè)計(jì),一個(gè)典型的應(yīng)用例子就是目前流行的 EJB 模型,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但是它不能作為應(yīng)用設(shè)計(jì)模型的框架。

控制器(Controller)可以理解為接收用戶的請求,然后視圖和模型匹配在一起,一起再完成用戶請求。它有非常明顯的作用在劃分控制層上,可以很清晰地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型、視圖,可以完成用戶的什么樣的請求。控制層不做所有的數(shù)據(jù)處理,比如說:用戶點(diǎn)擊一個(gè)連接,控制層接受到請求之后,并不處理業(yè)務(wù)信息,它只是向模型傳遞用戶的信息,同時(shí)告訴模型做什么,然后選擇符合需求的視圖返回給用戶。

    1. 小程序框架以及目錄結(jié)構(gòu)介紹

整個(gè)小程序框架系統(tǒng)分為兩部分:邏輯層和視圖層。小程序開發(fā)框架的目標(biāo)是通過盡可能簡單、高效的方式讓開發(fā)者可以在微信中開發(fā)具有原生 小程序 體驗(yàn)的服務(wù)。小程序在視圖層與邏輯層間提供了數(shù)據(jù)傳輸和事件系統(tǒng),提供了自己的視圖層以及邏輯層框架,讓開發(fā)者能夠?qū)W⒂跀?shù)據(jù)與邏輯??蚣艿暮诵氖且粋€(gè)響應(yīng)的數(shù)據(jù)綁定系統(tǒng),可以讓數(shù)據(jù)與視圖非常簡單地保持同步。在邏輯層做數(shù)據(jù)修改,在視圖層就會(huì)做相應(yīng)的更新??蚣芴峁┝艘惶谆A(chǔ)的組件,這些組件自帶微信風(fēng)格的樣式以及特殊的邏輯,開發(fā)者可以通過組合基礎(chǔ)組件,創(chuàng)建出強(qiáng)大的微信小程序 。

    1. Spring boot框架

Spring框架是Java平臺(tái)上的一種開源應(yīng)用框架,提供具有控制反轉(zhuǎn)特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應(yīng)用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補(bǔ)充,甚至是替補(bǔ)。Spring框架為開發(fā)提供了一系列的解決方案,比如利用控制反轉(zhuǎn)的核心特性,并通過依賴注入實(shí)現(xiàn)控制反轉(zhuǎn)來實(shí)現(xiàn)管理對象生命周期容器化,利用面向切面編程進(jìn)行聲明式的事務(wù)管理,整合多種持久化技術(shù)管理數(shù)據(jù)訪問,提供大量優(yōu)秀的Web框架方便開發(fā)等等。Spring框架具有控制反轉(zhuǎn)(IOC)特性,IOC旨在方便項(xiàng)目維護(hù)和測試,它提供了一種通過Java的反射機(jī)制對Java對象進(jìn)行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發(fā)者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時(shí)運(yùn)行時(shí)可配置;AOP框架主要針對模塊之間的交叉關(guān)注點(diǎn)進(jìn)行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務(wù)管理、遠(yuǎn)程訪問等功能均可以通過使用SpringAOP技術(shù)實(shí)現(xiàn)。Spring的事務(wù)管理框架為Java平臺(tái)帶來了一種抽象機(jī)制,使本地和全局事務(wù)以及嵌套事務(wù)能夠與保存點(diǎn)一起工作,并且?guī)缀蹩梢栽贘ava平臺(tái)的任何環(huán)境中工作。Spring集成多種事務(wù)模板,系統(tǒng)可以通過事務(wù)模板、XML或Java注解進(jìn)行事務(wù)配置,并且事務(wù)框架集成了消息傳遞和緩存等功能。Spring的數(shù)據(jù)訪問框架解決了開發(fā)人員在應(yīng)用程序中使用數(shù)據(jù)庫時(shí)遇到的常見困難。它不僅對Java:JDBC、iBATS/MyBATIs、Hibernate、Java數(shù)據(jù)對象(JDO)、ApacheOJB和ApacheCayne等所有流行的數(shù)據(jù)訪問框架中提供支持,同時(shí)還可以與Spring的事務(wù)管理一起使用,為數(shù)據(jù)訪問提供了靈活的抽象。Spring框架最初是沒有打算構(gòu)建一個(gè)自己的WebMVC框架,其開發(fā)人員在開發(fā)過程中認(rèn)為現(xiàn)有的StrutsWeb框架的呈現(xiàn)層和請求處理層之間以及請求處理層和模型之間的分離不夠,于是創(chuàng)建了SpringMVC。

    1. Mysql數(shù)據(jù)庫

Mysql 經(jīng)過多次的更新,功能層面已經(jīng)非常的豐富和完善了,從Mysql4版本到5版本進(jìn)行了比較大的更新,在商業(yè)的實(shí)際使用中取得了很好的實(shí)際應(yīng)用效果。最新版本的Mysql支持對信息的壓縮,同時(shí)還能進(jìn)行加密能更好的滿足對信息安全性的需求。同時(shí)經(jīng)過系統(tǒng)的多次更新,數(shù)據(jù)庫自身的鏡像功能也得到了很大的增強(qiáng),運(yùn)行的流暢度和易用性方面有了不小的進(jìn)步,驅(qū)動(dòng)的使用和創(chuàng)建也更加的高效快捷。最大的變動(dòng)還是進(jìn)行了空間信息的顯示優(yōu)化,能更加方便的在應(yīng)用地圖上進(jìn)行坐標(biāo)的標(biāo)注和運(yùn)算。強(qiáng)大的備份功能也保證了用戶使用的過程會(huì)更加安心,同時(shí)支持的Office特性還支持用戶的自行安裝和使用。在信息的顯示形式上也進(jìn)行了不小的更新,增加了兩個(gè)非常使用的顯示區(qū),一個(gè)是信息區(qū),對表格和文字進(jìn)行了分類處理,界面的顯示更加清爽和具體。第二是儀表的信息控件,能在儀表信息區(qū)進(jìn)行信息的顯示,同時(shí)還能進(jìn)行多個(gè)信息的比對,為用戶的實(shí)際使用帶來了很大的便捷。

針對本文中設(shè)計(jì)的基于小程序的校園招聘系統(tǒng)在實(shí)際的實(shí)現(xiàn)過程中,最終選擇Mysql數(shù)據(jù)庫的主要原因在于在企業(yè)的應(yīng)用系統(tǒng)應(yīng)用及開發(fā)的過程中會(huì)存在大量的數(shù)據(jù)庫比較頻繁的操作,而且數(shù)據(jù)的安全性要求也是非常的高。綜合這些因素,最終選擇安全性系數(shù)比較高的Mysql來對基于小程序的校園招聘系統(tǒng)后臺(tái)數(shù)據(jù)進(jìn)行存儲(chǔ)操作。

  1. 系統(tǒng)分析
    1. 可行性分析

開發(fā)任何一個(gè)系統(tǒng),都要對其可行性進(jìn)行分析,對其時(shí)間和資源上的限制進(jìn)行考慮,這樣可以減少系統(tǒng)開發(fā)的風(fēng)險(xiǎn)。同時(shí),分析之后不僅能夠合理的運(yùn)用人力,還能在各方面資源的消耗上得到節(jié)省。下面就對技術(shù)、經(jīng)濟(jì)和社會(huì)三個(gè)方面來介紹。

實(shí)用性方面,本次設(shè)計(jì)的主要任務(wù)是在基于小程序的校園招聘系統(tǒng)內(nèi)實(shí)現(xiàn)用戶管理,招聘資訊、招聘職位、簡歷投遞、面試邀請功能等,符合當(dāng)前潮流的發(fā)展。從用戶角度出發(fā),同時(shí)也考慮系統(tǒng)運(yùn)營成本和人力資源,采用網(wǎng)絡(luò)上的便捷方式,實(shí)現(xiàn)線上業(yè)務(wù),使得業(yè)務(wù)流程更系統(tǒng),也更方便用戶的體驗(yàn),比較實(shí)用。

經(jīng)濟(jì)性方面,由于本課題中設(shè)計(jì)的基于小程序的校園招聘系統(tǒng)的主要目的是為了能夠更加方便及快捷的進(jìn)行招聘信息的查詢管理及檢索服務(wù),也就是能夠可以直接投入使用的信息化軟件。系統(tǒng)的主要成本主要是集中在對使用數(shù)據(jù)后期繼續(xù)維護(hù)及其管理更新這個(gè)操作上。但是一旦系統(tǒng)投入到實(shí)際的運(yùn)行及使用之后就能夠很好的提高信息查詢檢索的效率,同時(shí)也需要有效的保證查詢者的信息方面的安全性,同時(shí)這個(gè)招聘信息與系統(tǒng)所帶來的實(shí)際應(yīng)用方面的價(jià)值是遠(yuǎn)遠(yuǎn)的超過了實(shí)際系統(tǒng)進(jìn)行開發(fā)與維護(hù)方面的成本,因此,從經(jīng)濟(jì)上來說開發(fā)這個(gè)軟件是可行的。

    1. 功能需求分析

基于小程序的校園招聘系統(tǒng)的功能主要分為前臺(tái)用戶根據(jù)自己的需求進(jìn)行注冊登錄,招聘資訊,簡歷投遞、面試邀請等操作。后臺(tái)系統(tǒng)管理員主要對注冊用戶,職位分類,簡歷投遞,面試邀請進(jìn)行管理。

企業(yè)用戶用例圖如下所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖3-1 企業(yè)用戶用例圖

管理員用例圖如下所示。

?????????????????

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖3-2 管理員用例圖

學(xué)生用例圖如下所示。

????????????????

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

???圖3-3?學(xué)生用例圖

      1. 前臺(tái)用戶功能

前臺(tái)注冊用戶的功能如下:

注冊登錄:用戶填寫個(gè)人信息,并驗(yàn)證手機(jī)號碼進(jìn)行賬戶注冊,注冊成功后方可登錄系統(tǒng)。

招聘職位:學(xué)生可以在線瀏覽企業(yè)發(fā)布的招聘職位信息。

招聘資訊:學(xué)生可以在線搜索查看系統(tǒng)發(fā)布的招聘資訊。

簡歷投遞:學(xué)生在線進(jìn)行對應(yīng)職位的簡歷投遞。

面試邀請:可以查看企業(yè)發(fā)布的面試邀請信息。

個(gè)人信息:用戶可以修改個(gè)人信息。

      1. 后臺(tái)管理員功能

管理員功能如下:

修改密碼:管理員可以隨時(shí)修改自己進(jìn)入系統(tǒng)的登錄密碼,以保證系統(tǒng)的安全性。

用戶管理:對企業(yè)用戶、學(xué)生用戶信息進(jìn)行維護(hù)管理等。

招聘職位管理:對招聘職位信息進(jìn)行維護(hù)管理。

簡歷投遞管理:對簡歷投遞信息進(jìn)行維護(hù)管理。

職位分類:對職位進(jìn)行分類管理。

招聘資訊管理:對招聘資訊進(jìn)行發(fā)布管理等。

    1. 非功能需求分析

首先主要考慮的是系統(tǒng)功能軟件,在具體設(shè)計(jì)的環(huán)節(jié)上,是不是能夠較好的滿足各類用戶的基本功能需求,如果不能較好的滿足用戶需求,那么這個(gè)系統(tǒng)的存在是沒有價(jià)值的。軟件系統(tǒng)的非功能性求分析,從7個(gè)方面展開,一個(gè)是性能分析,針對系統(tǒng);一個(gè)是安全分析,針對系統(tǒng),一個(gè)是完整度分析,針對系統(tǒng),一個(gè)是可維護(hù)分析,針對系統(tǒng),一個(gè)是可擴(kuò)展性分析,針對系統(tǒng),一個(gè)是適應(yīng)業(yè)務(wù)的性能分析。面對校園招聘與系統(tǒng)存在的性能、安全、擴(kuò)展、完整度等7個(gè)方面性能綜合比對分析后發(fā)現(xiàn),需要相應(yīng)的非功能性需求分析。

    1. 安全性需求分析
      1. 系統(tǒng)的安全性

安全性對每一個(gè)系統(tǒng)來說都是非常重要的。安全性很好的系統(tǒng)可以保護(hù)企業(yè)的信息和用戶的信息不被竊取。提高系統(tǒng)的安全性不僅是對用戶的負(fù)責(zé),更是對企業(yè)的負(fù)責(zé)。尤其針對于學(xué)生個(gè)人的簡歷投遞與系統(tǒng)來說,必須要有很好的安全性來保障整個(gè)系統(tǒng)。

系統(tǒng)具有對使用者有權(quán)限控制,針對角色的不通限制使用者的權(quán)限,以此來確保系統(tǒng)的安全性。

      1. 數(shù)據(jù)的安全性

數(shù)據(jù)庫中的數(shù)據(jù)是從外界輸入的,當(dāng)數(shù)據(jù)的輸入時(shí),由于種種原因,輸入的數(shù)據(jù)會(huì)無效,或者是臟數(shù)據(jù)。因此,怎樣保證輸入的數(shù)據(jù)符合規(guī)定,成為了數(shù)據(jù)庫系統(tǒng),尤其是多用戶的關(guān)系數(shù)據(jù)庫系統(tǒng)首要關(guān)注的問題。

因此,在寫入數(shù)據(jù)庫時(shí),要保證數(shù)據(jù)完整性、正確性和一致性。

    1. 數(shù)據(jù)流程分析

對系統(tǒng)的數(shù)據(jù)流進(jìn)行分析,系統(tǒng)的使用者分為二類,一般用戶,管理員。系統(tǒng)主要對界面信息傳送,登錄信息的驗(yàn)證,注冊信息的接收,用戶各種操作的響應(yīng)做處理。

系統(tǒng)頂層數(shù)據(jù)流圖如下圖所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖3-2 頂層數(shù)據(jù)流圖

要判斷用戶是是什么身份,是根據(jù)登錄的數(shù)據(jù)來判斷后,跳轉(zhuǎn)到對應(yīng)的功能界面。在系統(tǒng)的內(nèi)部用戶就可以對數(shù)據(jù)進(jìn)行操作,數(shù)據(jù)庫中心就可以接收到系統(tǒng)傳輸?shù)挠行?shù)據(jù)流來對數(shù)據(jù)sql語句進(jìn)行對應(yīng)操作。

系統(tǒng)底層數(shù)據(jù)流圖如下圖所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

?圖3-3 底層數(shù)據(jù)流圖

系統(tǒng)可以分為前臺(tái)和后臺(tái)兩部分,每一種操作后系統(tǒng)都返回操作結(jié)果。前臺(tái)和后臺(tái)的數(shù)據(jù)連接主要通過數(shù)據(jù)庫,既分別對數(shù)據(jù)庫做不同的操作。

  1. 系統(tǒng)設(shè)計(jì)
    1. 系統(tǒng)架構(gòu)設(shè)計(jì)

基于小程序的校園招聘系統(tǒng)的架構(gòu)設(shè)計(jì)主要分為可以3層,主要有Web層,業(yè)務(wù)層,Model層。其中web層還包括View層和Controller層,Model層包括元數(shù)據(jù)擴(kuò)展層和數(shù)據(jù)訪問層。

系統(tǒng)架構(gòu)如下圖所示。

MVVM 就是將其中的View 的狀態(tài)和行為抽象化,讓我們將視圖 UI 和業(yè)務(wù)邏輯分開。當(dāng)然這些事 ViewModel 已經(jīng)幫我們做了,它可以取出 Model 的數(shù)據(jù)同時(shí)幫忙處理 View 中由于需要展示內(nèi)容而涉及的業(yè)務(wù)邏輯。它強(qiáng)制性的把應(yīng)用程序的輸入、輸出和處理全部分開,將其分為三個(gè)核心部分,這三個(gè)部分分別有不同的功能。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖4-1系統(tǒng)架構(gòu)圖

視圖層視圖是指被用戶所看到的并且能夠與之進(jìn)行交互的界面。視圖可以向用戶展示相關(guān)的數(shù)據(jù),并接收用戶輸入的數(shù)據(jù),但對用戶數(shù)據(jù)不進(jìn)行任何實(shí)際業(yè)務(wù)操作處理。

模型層通過控制層來處理視圖層傳遞的數(shù)據(jù),同一個(gè)模型可以給不同的視圖提供數(shù)據(jù),也可以被不同的視圖重復(fù)使用。由于 Model 的主要內(nèi)容是數(shù)據(jù)、方法和行為,其也是 MVVM?中邏輯最為復(fù)雜,代碼量最多的部分,其中包含了許多應(yīng)用中需要用到的業(yè)務(wù)邏輯,因此模型層的開發(fā)也變得尤為重要,后期一般不會(huì)對模型層進(jìn)行大規(guī)模改動(dòng),也是 MVVM最穩(wěn)定的部分。

控制層主要負(fù)責(zé)視圖層和模型層之間的數(shù)據(jù)傳輸和處理請求操作。當(dāng)用戶通過視圖發(fā)送數(shù)據(jù)和請求時(shí),控制層可以接收請求和數(shù)據(jù)并決定調(diào)用哪些模型、通過模型的哪些操來處理數(shù)據(jù)和請求,處理完成后,控制層再將數(shù)據(jù)返回給相應(yīng)的視圖。

    1. 系統(tǒng)功能設(shè)計(jì)

登錄模塊:登錄模塊是進(jìn)入系統(tǒng)的入口,所有用戶必須登錄后才能訪問系統(tǒng)。登錄需要輸入用戶名和密碼,如果多次嘗試登錄需要輸入驗(yàn)證碼。登錄時(shí)需要選擇用戶的角色,是一般用戶還是管理員登錄等。登錄成功后,會(huì)通過數(shù)據(jù)庫獲取用戶的權(quán)限,并跳轉(zhuǎn)至用戶的主頁面。

招聘信息數(shù)據(jù)模塊:可分為招聘信息數(shù)據(jù)瀏覽、招聘信息數(shù)據(jù)檢索、招聘信息數(shù)據(jù)維護(hù)三個(gè)模塊,管理員對招聘信息數(shù)據(jù)有維護(hù)的權(quán)限,企業(yè)用戶可以發(fā)布新的招聘信息數(shù)據(jù)、更新已有的招聘信息數(shù)據(jù),學(xué)生用戶可以點(diǎn)擊”招聘中心“查看各類招聘信息等。

職位分類管理模塊:職位分類管理分為職位分類信息添加、修改。職位分類信息由管理員進(jìn)行修改、添加、刪除操作。

簡歷投遞模塊:學(xué)生用戶可以在線進(jìn)行個(gè)人簡歷的投遞,企業(yè)用戶后臺(tái)可以查看到學(xué)生的投遞具體信息,管理員主要對簡歷投遞進(jìn)行維護(hù)管理操作。

招聘資訊管理模塊:管理員后臺(tái)進(jìn)行招聘資訊的發(fā)布更新,學(xué)生用戶在系統(tǒng)前臺(tái)可以對最新的資訊進(jìn)行瀏覽查看等操作。

    1. 數(shù)據(jù)庫設(shè)計(jì)
      1. 數(shù)據(jù)庫概念設(shè)計(jì)

根據(jù)前面的數(shù)據(jù)流程圖,結(jié)合系統(tǒng)的功能模塊設(shè)計(jì),設(shè)計(jì)出符合系統(tǒng)的各信息實(shí)體。

系統(tǒng)ER圖如下圖所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖4-3 系統(tǒng)ER圖

      1. 數(shù)據(jù)庫表設(shè)計(jì)

基于小程序的校園招聘系統(tǒng)與系統(tǒng)所擁有的數(shù)據(jù)表有以下:招聘職位表,職位分類管理表,簡歷投遞管理表,招聘資訊管理表,面試邀請表等。

由于數(shù)據(jù)表較多,只展示系統(tǒng)主要數(shù)據(jù)表,如下表所示。

student_users表:

名稱

類型

長度

不是null

主鍵

注釋

student_users_id

int

11

學(xué)生用戶ID

full_name

varchar

64

姓名

gender

varchar

64

性別

education

varchar

64

學(xué)歷

university_one_is_graduated_from

varchar

64

畢業(yè)院校

major

varchar

64

專業(yè)

examine_state

varchar

16

審核狀態(tài)

recommend

int

11

智能推薦

user_id

int

11

用戶ID

create_time

datetime

0

創(chuàng)建時(shí)間

update_time

timestamp

0

更新時(shí)間

enterprise_users表:

名稱

類型

長度

不是null

主鍵

注釋

enterprise_users_id

int

11

企業(yè)用戶ID

enterprise_no

varchar

64

企業(yè)編號

enterprise_name

varchar

64

企業(yè)名稱

person_in_charge

varchar

64

負(fù)責(zé)人

examine_state

varchar

16

審核狀態(tài)

recommend

int

11

智能推薦

user_id

int

11

用戶ID

create_time

datetime

0

創(chuàng)建時(shí)間

update_time

timestamp

0

更新時(shí)間

position_classification表:

名稱

類型

長度

不是null

主鍵

注釋

position_classification_id

int

11

職位分類ID

position_category

varchar

64

職位類別

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時(shí)間

update_time

timestamp

0

更新時(shí)間

recruitment_position表:

名稱

類型

長度

不是null

主鍵

注釋

recruitment_position_id

int

11

招聘職位ID

enterprise_no

int

11

企業(yè)編號

enterprise_name

varchar

64

企業(yè)名稱

position_name

varchar

64

職位名稱

position_category

varchar

64

職位類別

number_of_recruiters

int

11

招聘人數(shù)

work_address

varchar

64

工作地址

job_content

text

0

工作內(nèi)容

educational_requirements

text

0

學(xué)歷要求

salary

text

0

薪資待遇

publicity_map

varchar

255

宣傳圖

details

text

0

詳情

hits

int

11

點(diǎn)擊數(shù)

praise_len

int

11

點(diǎn)贊數(shù)

examine_state

varchar

16

審核狀態(tài)

examine_reply

varchar

16

審核回復(fù)

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時(shí)間

update_time

timestamp

0

更新時(shí)間

resume_delivery表:

名稱

類型

長度

不是null

主鍵

注釋

resume_delivery_id

int

11

簡歷投遞ID

enterprise_no

int

11

企業(yè)編號

enterprise_name

varchar

64

企業(yè)名稱

position_name

varchar

64

職位名稱

user

int

11

用戶

full_name

varchar

64

姓名

gender

varchar

64

性別

education

varchar

64

學(xué)歷

university_one_is_graduated_from

varchar

64

畢業(yè)院校

educational_experience

text

0

教育經(jīng)歷

work_experience

text

0

工作經(jīng)歷

self_introduction

text

0

自我介紹

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時(shí)間

update_time

timestamp

0

更新時(shí)間

interview_invitation表:

名稱

類型

長度

不是null

主鍵

注釋

interview_invitation_id

int

11

面試邀請ID

enterprise_no

int

11

企業(yè)編號

enterprise_name

varchar

64

企業(yè)名稱

user

int

11

用戶

full_name

varchar

64

姓名

position_name

varchar

64

職位名稱

interview_time

datetime

0

面試時(shí)間

place_of_interview

varchar

64

面試地點(diǎn)

carrying_information

text

0

攜帶資料

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時(shí)間

update_time

timestamp

0

更新時(shí)間

  1. 系統(tǒng)實(shí)現(xiàn)
    1. 注冊模塊的實(shí)現(xiàn)

用戶在填寫數(shù)據(jù)的時(shí)候必須與注冊頁面上的驗(yàn)證相匹配否則會(huì)注冊失敗,注冊頁面的表單驗(yàn)證是通過驗(yàn)證的,用戶名的長度必須在6到18之間,郵箱必須帶有@符號,密碼和密碼確認(rèn)必須相同,你輸入的密碼,系統(tǒng)會(huì)根據(jù)你輸入密碼的強(qiáng)度給出指定的值,電話號碼和身份證號碼必須要求輸入格式與生活相符合,當(dāng)你前臺(tái)驗(yàn)證通過的時(shí)候你點(diǎn)擊注冊,表單會(huì)將你輸入的值通過name值傳遞給后臺(tái)并保存到數(shù)據(jù)庫中。

用戶注冊流程圖如下圖所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖5-1用戶注冊流程圖

用戶注冊界面如下圖所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖5-2用戶注冊界面

用戶注冊邏輯代碼如下:

/**

?????* 注冊

?????* @param user

?????* @return

?????*/

????@PostMapping("register")

????public Map<String, Object> signUp(@RequestBody User user) {

????????// 查詢用戶

????????Map<String, String> query = new HashMap<>();

????????query.put("username",user.getUsername());

????????List list = service.select(query, new HashMap<>()).getResultList();

????????if (list.size()>0){

????????????return error(30000, "用戶已存在");

????????}

????????user.setUserId(null);

????????user.setPassword(service.encryption(user.getPassword()));

????????service.save(user);

????????return success(1);

}

/**

?????* 用戶ID:[0,8388607]用戶獲取其他與用戶相關(guān)的數(shù)據(jù)

?????*/

????@Id

????@GeneratedValue(strategy = GenerationType.IDENTITY)

????@Column(name = "user_id")

????private Integer userId;

????/**

?????* 賬戶狀態(tài):[0,10](1可用|2異常|3已凍結(jié)|4已注銷)

?????*/

????@Basic

????@Column(name = "state")

????private Integer state;

????/**

?????* 所在用戶組:[0,32767]決定用戶身份和權(quán)限

?????*/

????@Basic

????@Column(name = "user_group")

????private String userGroup;

????/**

?????* 上次登錄時(shí)間:

?????*/

????@Basic

????@Column(name = "login_time")

????private Timestamp loginTime;

????/**

?????* 手機(jī)號碼:[0,11]用戶的手機(jī)號碼,用于找回密碼時(shí)或登錄時(shí)

?????*/

????@Basic

????@Column(name = "phone")

????private String phone;

????/**

?????* 手機(jī)認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)

?????*/

????@Basic

????@Column(name = "phone_state")

????private Integer phoneState;

????/**

?????* 用戶名:[0,16]用戶登錄時(shí)所用的賬戶名稱

?????*/

????@Basic

????@Column(name = "username")

????private String username;

????/**

?????* 昵稱:[0,16]

?????*/

????@Basic

????@Column(name = "nickname")

????private String nickname;

????/**

?????* 密碼:[0,32]用戶登錄所需的密碼,由6-16位數(shù)字或英文組成

?????*/

????@Basic

????@Column(name = "password")

????private String password;

????/**

?????* 郵箱:[0,64]用戶的郵箱,用于找回密碼時(shí)或登錄時(shí)

?????*/

????@Basic

????@Column(name = "email")

????private String email;

????/**

?????* 郵箱認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)

?????*/

????@Basic

????@Column(name = "email_state")

????private Integer emailState;

????/**

?????* 頭像地址:[0,255]

?????*/

????@Basic

????@Column(name = "avatar")

????private String avatar;

????/**

?????* 創(chuàng)建時(shí)間:

?????*/

????@Basic

????@Column(name = "create_time")

????@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

????private Timestamp createTime;

????@Basic

????@Transient

????private String code;

}

    1. 登錄模塊的實(shí)現(xiàn)

主要由兩部分組成,登錄前的登錄界面以及登錄后的用戶功能界面。登錄界面,要求用戶輸入用戶名和密碼,當(dāng)用戶名和密碼其中一個(gè)輸入為空時(shí),給出提示“用戶名,密碼不能為空”。獲取用戶名和密碼后到數(shù)據(jù)庫中查找,如果用戶名存在,以及對應(yīng)的密碼正確,則登錄成功,否則登錄失敗。登錄失敗后給出提示,并把焦點(diǎn)停在文本框中。登錄成功后將該次會(huì)話的全局變量username設(shè)置為用戶名。登錄成功后進(jìn)入會(huì)員的功能模塊,主要有會(huì)員基本信息修改,已經(jīng)發(fā)布考試信息管理,發(fā)布信息,和退出功能。退出功能是清除全局變量username的值,并跳回到首頁。

登錄流程圖如下圖所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖5-3登錄流程圖

用戶登錄界面如下圖所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖5-4用戶登錄界面

用戶登錄的邏輯代碼如下所示。

/**

?????* 登錄

?????* @param data

?????* @param httpServletRequest

?????* @return

?????*/

????@PostMapping("login")

????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

????????log.info("[執(zhí)行登錄接口]");

????????String username = data.get("username");

????????String email = data.get("email");

????????String phone = data.get("phone");

????????String password = data.get("password");

????????List resultList = null;

????????Map<String, String> map = new HashMap<>();

????????if(username != null && "".equals(username) == false){

????????????map.put("username", username);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}

????????else if(email != null && "".equals(email) == false){

????????????map.put("email", email);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}

????????else if(phone != null && "".equals(phone) == false){

????????????map.put("phone", phone);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}else{

????????????return error(30000, "賬號或密碼不能為空");

????????}

????????if (resultList == null || password == null) {

????????????return error(30000, "賬號或密碼不能為空");

????????}

????????//判斷是否有這個(gè)用戶

????????if (resultList.size()<=0){

????????????return error(30000,"用戶不存在");

????????}

????????User byUsername = (User) resultList.get(0);

????????Map<String, String> groupMap = new HashMap<>();

????????groupMap.put("name",byUsername.getUserGroup());

????????List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

????????if (groupList.size()<1){

????????????return error(30000,"用戶組不存在");

????????}

????????UserGroup userGroup = (UserGroup) groupList.get(0);

????????//查詢用戶審核狀態(tài)

????????if (!StringUtils.isEmpty(userGroup.getSourceTable())){

????????????String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

????????????String res = String.valueOf(service.runCountSql(sql).getSingleResult());

????????????if (res==null){

????????????????return error(30000,"用戶不存在");

????????????}

????????????if (!res.equals("已通過")){

????????????????return error(30000,"該用戶審核未通過");

????????????}

????????}

????????//查詢用戶狀態(tài)

????????if (byUsername.getState()!=1){

????????????return error(30000,"用戶非可用狀態(tài),不能登錄");

????????}

????????String md5password = service.encryption(password);

????????if (byUsername.getPassword().equals(md5password)) {

????????????// 存儲(chǔ)Token到數(shù)據(jù)庫

????????????AccessToken accessToken = new AccessToken();

????????????accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

????????????accessToken.setUser_id(byUsername.getUserId());

????????????tokenService.save(accessToken);

????????????// 返回用戶信息

????????????JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

????????????user.put("token", accessToken.getToken());

????????????JSONObject ret = new JSONObject();

????????????ret.put("obj",user);

????????????return success(ret);

????????} else {

????????????return error(30000, "賬號或密碼不正確");

????????}

}

    1. 用戶資料修改模塊的實(shí)現(xiàn)

用戶登錄/注冊成功之后可以修改自己的基本信息。修改頁面的表單中每一個(gè)input的name值都要與實(shí)體類中的參數(shù)相匹配,在用戶點(diǎn)擊修改頁面的時(shí)候,如果改后用戶名與數(shù)據(jù)庫里面重復(fù)了,頁面會(huì)提示該用戶名已經(jīng)存在了,否則通過Id來查詢用戶,并將用戶的信息修改為表單提交的數(shù)據(jù)。

    1. 招聘職位管理模塊的實(shí)現(xiàn)

如果招聘職位的信息需要修改,企業(yè)用戶可以通過查詢招聘職位的基本信息來查詢招聘信息,查詢招聘信息是通過ajax技術(shù)來進(jìn)行查詢的,需要傳遞企業(yè)名稱、類型等參數(shù)然后在返回到該頁面中,可以選中要修改或刪除的那條信息,如果選中了超過一條數(shù)據(jù),頁面會(huì)挑一個(gè)窗口提醒只能選擇一條數(shù),如果沒有選中數(shù)據(jù)會(huì)挑一個(gè)窗口題型必須選擇一條數(shù)據(jù)。當(dāng)選擇確認(rèn)修改的時(shí)候,后臺(tái)會(huì)根據(jù)傳過來的id到數(shù)據(jù)庫查詢,并將結(jié)果返回到修改頁面中,可以在修改頁面中修改剛剛選中的信息當(dāng)點(diǎn)擊確認(rèn)的時(shí)候from表單會(huì)將修改的數(shù)據(jù)提交到后臺(tái)并保存到數(shù)據(jù)庫中。

招聘職位展示界面如下圖所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖5-5招聘職位展示界面

招聘職位的邏輯代碼如下:

?@PostMapping("/add")

????@Transactional

????public Map<String, Object> add(HttpServletRequest request) throws IOException {

????????service.insert(service.readBody(request.getReader()));

????????return success(1);

????}

????@Transactional

????public Map<String, Object> addMap(Map<String,Object> map){

????????service.insert(map);

????????return success(1);

}

????public Map<String,Object> readBody(BufferedReader reader){

????????BufferedReader br = null;

????????StringBuilder sb = new StringBuilder("");

????????try{

????????????br = reader;

????????????String str;

????????????while ((str = br.readLine()) != null){

????????????????sb.append(str);

????????????}

????????????br.close();

????????????String json = sb.toString();

????????????return JSONObject.parseObject(json, Map.class);

????????}catch (IOException e){

????????????e.printStackTrace();

????????}finally{

????????????if (null != br){

????????????????try{

????????????????????br.close();

????????????????}catch (IOException e){

????????????????????e.printStackTrace();

????????????????}

????????????}

????????}

????????return null;

}

????public void insert(Map<String,Object> body){

????????StringBuffer sql = new StringBuffer("INSERT INTO ");

????????sql.append("`").append(table).append("`").append(" (");

????????for (Map.Entry<String,Object> entry:body.entrySet()){

????????????sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

????????}

????????sql.deleteCharAt(sql.length()-1);

????????sql.append(") VALUES (");

????????for (Map.Entry<String,Object> entry:body.entrySet()){

????????????Object value = entry.getValue();

????????????if (value instanceof String){

????????????????sql.append("'").append(entry.getValue()).append("'").append(",");

????????????}else {

????????????????sql.append(entry.getValue()).append(",");

????????????}

????????}

????????sql.deleteCharAt(sql.length() - 1);

????????sql.append(")");

????????log.info("[{}] - 插入操作:{}",table,sql);

????????Query query = runCountSql(sql.toString());

????????query.executeUpdate();

????}

    1. 簡歷投遞模塊的實(shí)現(xiàn)

此頁面的關(guān)鍵是用戶學(xué)生用戶投遞簡歷,學(xué)生可以在線上傳個(gè)人簡歷、完善個(gè)人信息等。單擊提交按鈕以完成信息的添加。如果未寫入完整的用戶名稱、未上傳簡歷等,例如,如果未寫入用戶名稱,系統(tǒng)將給出相應(yīng)的錯(cuò)誤提示,并且無法成功輸入。數(shù)據(jù)以概念的形式以onsubmit =“return checkForm()”的形式寫入以進(jìn)行檢查,checkForm()函數(shù)是一種用于寫入數(shù)據(jù)的不同類型的校對方法,是不是為空也是經(jīng)過form表單中的οnsubmit=”return checkForm()來檢查。

企業(yè)用戶點(diǎn)擊左側(cè)菜單“簡歷投遞”,頁面跳轉(zhuǎn)到學(xué)生用戶的簡歷簡歷投遞外觀,調(diào)用后臺(tái)查詢所有學(xué)生用戶簡歷信息。并將信息密封到數(shù)據(jù)集合List,綁定到請求對象,然后頁面跳轉(zhuǎn)到相應(yīng)的界面。

簡歷投遞界面如下圖所示。

springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446,spring boot,mysql,小程序,bootstrap,css,ajax

圖5-6簡歷投遞界面

簡歷投遞界面邏輯代碼如下:

?@RestController

@RequestMapping("auth")

public class AuthController extends BaseController<Auth, AuthService> {

????/**

?????* 服務(wù)對象

?????*/

????@Autowired

????public AuthController(AuthService service) {

????????setService(service);

????}

  1. 系統(tǒng)測試
    1. 測試目的

對任何系統(tǒng)而言,測試都是必不可少的環(huán)節(jié),測試可以發(fā)現(xiàn)系統(tǒng)存在的很多問題,所有的軟件上線之前,都應(yīng)該進(jìn)行充足的測試之后才能保證上線后不會(huì)Bug頻發(fā),或者是功能不滿足需求等問題的發(fā)生。下面分別從單元測試,功能測試和用例測試來對系統(tǒng)進(jìn)行測試以保證系統(tǒng)的穩(wěn)定性和可靠性。

    1. 功能測試

下表是招聘職位管理功能的測試用例,檢測了招聘職位管理中對招聘職位的增加,刪除,修改,查詢操作是否成功運(yùn)行。觀察系統(tǒng)的響應(yīng)情況,得出該功能也達(dá)到了設(shè)計(jì)目標(biāo),系統(tǒng)運(yùn)行正確。

前置條件;用戶登錄系統(tǒng)。

表6-1 招聘職位管理的測試用例

功能描述

用于招聘職位管理

測試目的

檢測招聘職位管理時(shí)的各種操作的運(yùn)行情況

測試數(shù)據(jù)以及操作

預(yù)期結(jié)果

實(shí)際結(jié)果

點(diǎn)擊添加招聘職位,必填項(xiàng)合法輸入,點(diǎn)擊保存

提示添加成功

與預(yù)期結(jié)果一致

點(diǎn)擊添加招聘職位,必填項(xiàng)輸入不合法,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊修改招聘職位,必填項(xiàng)修改為空,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊修改招聘職位,必填項(xiàng)輸入不合法,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊刪除招聘職位,選擇招聘職位刪除

提示刪除成功

與預(yù)期結(jié)果一致

點(diǎn)擊搜索招聘職位,輸入存在的招聘職位名

查找出招聘職位

與預(yù)期結(jié)果一致

點(diǎn)擊搜索招聘職位,輸入不存在的招聘職位名

不顯示招聘職位

與預(yù)期結(jié)果一致

下表是用戶簡歷投遞功能的測試用例,檢測了用戶簡歷投遞中對個(gè)人簡歷投遞的增加,刪除,修改,查詢操作是否成功運(yùn)行。觀察系統(tǒng)的響應(yīng)情況,得出該功能也達(dá)到了設(shè)計(jì)目標(biāo),系統(tǒng)運(yùn)行正確。

前置條件;用戶登錄系統(tǒng)。

表6-2 用戶簡歷投遞的測試用例

功能描述

用于用戶簡歷投遞

測試目的

檢測用戶簡歷投遞時(shí)的各種操作的運(yùn)行情況

測試數(shù)據(jù)以及操作

預(yù)期結(jié)果

實(shí)際結(jié)果

點(diǎn)擊添加簡歷投遞,必填項(xiàng)合法輸入,點(diǎn)擊保存

提示添加成功

與預(yù)期結(jié)果一致

點(diǎn)擊添加簡歷投遞,必填項(xiàng)輸入不合法,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊修改簡歷投遞,必填項(xiàng)修改為空,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊修改簡歷投遞,必填項(xiàng)輸入不合法,點(diǎn)擊保存

提示必填項(xiàng)不能為空

與預(yù)期結(jié)果一致

點(diǎn)擊刪除簡歷投遞,選擇簡歷投遞刪除

提示刪除成功

與預(yù)期結(jié)果一致

點(diǎn)擊搜索簡歷投遞,輸入存在的簡歷投遞名

查找出簡歷投遞

與預(yù)期結(jié)果一致

點(diǎn)擊搜索簡歷投遞,輸入不存在的簡歷投遞名

不顯示簡歷投遞

與預(yù)期結(jié)果一致

下表是職位分類管理功能的測試用例,檢測了職位分類管理中分類列表的操作是否成功運(yùn)行。觀察系統(tǒng)的響應(yīng)情況,得出該功能也達(dá)到了設(shè)計(jì)目標(biāo),系統(tǒng)運(yùn)行正確。

前置條件;用戶登錄系統(tǒng)。

表6-3 職位分類管理的測試用例

功能描述

用于職位分類管理

測試目的

檢測職位分類管理時(shí)各種操作的情況

測試數(shù)據(jù)以及操作

預(yù)期結(jié)果

實(shí)際結(jié)果

未選擇分類,點(diǎn)擊提交

提示請選擇分類

與預(yù)期結(jié)果一致

未選擇列表,點(diǎn)擊提交

提示請選擇列表

與預(yù)期結(jié)果一致

    1. 性能測試

使用阿里云PTS(Performance Testing Service)性能測試服務(wù)對線上系統(tǒng)進(jìn)行壓力測試。線上服務(wù)器環(huán)境為:1核心CPU,1G內(nèi)存,1Mbps公網(wǎng)帶寬,Centos7.0操作系統(tǒng)。

壓測過程中使用了2臺(tái)并發(fā)機(jī)器,每臺(tái)機(jī)器20個(gè)用戶并發(fā),對系統(tǒng)主頁,登錄,數(shù)據(jù)查詢和數(shù)據(jù)維護(hù)等模塊進(jìn)行并發(fā)訪問,測試結(jié)果是有40個(gè)用戶并發(fā)時(shí),數(shù)據(jù)管理相關(guān)頁面的響應(yīng)時(shí)間甚至達(dá)到了7s,通過查看服務(wù)器出網(wǎng)流量發(fā)現(xiàn)已經(jīng)達(dá)到1381kb/s,可以看出服務(wù)器的帶寬已經(jīng)達(dá)到峰值,如果系統(tǒng)使用5Mbps的帶寬,系統(tǒng)的響應(yīng)時(shí)間和TPS將會(huì)大大增加。在整個(gè)測試的過程中,CPU的使用率占用僅8%,也提現(xiàn)出帶寬瓶頸對系統(tǒng)的影響非常嚴(yán)重。

  1. 總結(jié)與展望

隨著計(jì)算機(jī)互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,各行各業(yè)都已經(jīng)實(shí)現(xiàn)采用計(jì)算機(jī)相關(guān)技術(shù)對日益放大的數(shù)據(jù)進(jìn)行管理。該課題是基于小程序的校園招聘系統(tǒng)為核心展開的。本研究針對招聘信息管理需求建模,數(shù)據(jù)建模及過程建模分析設(shè)計(jì)并實(shí)現(xiàn)平臺(tái)研究的過程。給出系統(tǒng)應(yīng)用架構(gòu)并分析優(yōu)劣勢,通過功能分解圖,系統(tǒng)組件圖描述功能需求。設(shè)計(jì)建立了數(shù)據(jù)庫,給出系統(tǒng)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)的定義。通過類關(guān)系圖描述組件間的協(xié)作關(guān)系,給出各個(gè)類的定義方法。通過描述每一個(gè)類的字段,屬性及方法實(shí)現(xiàn)系統(tǒng)的前后端代碼。最終給出系統(tǒng)集成整合方法,完成基于小程序的校園招聘系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)投入運(yùn)行時(shí),各功能均運(yùn)行正常。系統(tǒng)的每個(gè)界面的操作符合常規(guī)邏輯,對使用者來說操作簡單,界面友好。整個(gè)系統(tǒng)的各個(gè)功能設(shè)計(jì)合理,體現(xiàn)了人性化。

但是由于自己在系統(tǒng)開發(fā)過程中對一些用到的相關(guān)知識和技術(shù)掌握不夠牢固,再加上自身開發(fā)經(jīng)驗(yàn)欠缺,因此系統(tǒng)在有些方面的功能還不夠完善,考慮的不夠全面,因此整個(gè)系統(tǒng)還有待日后逐步完善。

參考文獻(xiàn)

[1]李興燕.高校校園招聘現(xiàn)狀及問題研究——基于企業(yè)、高校、大學(xué)生三方視角[J].現(xiàn)代商貿(mào)工業(yè),2022,43(04):64-66.

[2]賴洪洪.提高Z世代校園招聘成效之思考與探索[J].經(jīng)濟(jì)管理文摘,2021(24):159-162.

[3]萬健婧,閆寧寧.民營企業(yè)校園招聘問題及對策研究[J].現(xiàn)代營銷(經(jīng)營版),2021(11):108-110.

[4]崔淑琴.新時(shí)代高職院校校園招聘有效性研究[J].質(zhì)量與市場,2021(19):118-120+123.

[5]袁建東,張秋霞.數(shù)字供應(yīng)鏈時(shí)代下的人才需求:基于華為校園招聘實(shí)踐的分析[J].供應(yīng)鏈管理,2021,2(10):86-91.

[6]梁爽爽,黃麟涵,王惠利. 打造“互聯(lián)網(wǎng)+直播”校園招聘新模式的思路[C]//勞動(dòng)保障研究會(huì)議論文集(十).,2021:66-67.

[7]張曉艷. 基于勝任力的校園招聘人才評價(jià)指標(biāo)體系研究[D].魯東大學(xué),2021.

[8]王曉青. 企業(yè)校園招聘平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京交通大學(xué),2021.

[9]陳建幫.校園招聘新形態(tài):概念特征、挑戰(zhàn)分析及應(yīng)對策略[J].中國大學(xué)生就業(yè),2021(10):36-41.

[10]王磊. 高校校園招聘信息服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2021.

[11]賴力潛,余星潔,曾曉勿,陳舒琪.大數(shù)據(jù)校園招聘平臺(tái)設(shè)計(jì)及初步實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2021(05):184-186.

[12]許穎.當(dāng)前就業(yè)形勢下的校園招聘困境及對策[J].人才資源開發(fā),2020(21):59-60.

[13]馬俊豪,姚墨石.校園招聘服務(wù)企業(yè)探索和未來展望——以大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目為例[J].現(xiàn)代營銷(經(jīng)營版),2020(11):18-19.

[14]李博文,王宏衛(wèi),樊曉旭,李嶠.基于項(xiàng)目管理的校園招聘平臺(tái)建設(shè)機(jī)制研究與實(shí)踐[J].作家天地,2020(20):61-62.

[15]彭美阮.優(yōu)化校園招聘的策略[J].人力資源,2020(14):93-94.

[16]Yi Cuijuan. Under the Background of Big Data, Information-Based Teaching has Great Influence on the Development of College Students’ Employability[J]. Journal of Physics: Conference Series,2021,1852(4):

[17]Adam Kanar,Dave Bouckenooghe. The role of extracurricular activities in shaping university students' employment self-efficacy perceptions[J]. Career Development International,2021,26(2):

致謝

本次設(shè)計(jì)歷時(shí)3個(gè)月。在這個(gè)畢業(yè)設(shè)計(jì)中,它離不開指導(dǎo)教師的指導(dǎo),使事情基本順利。指導(dǎo)老師無論是在畢業(yè)設(shè)計(jì)歷經(jīng)中,還是在論文做完中都給了了我特別大的助益。另一個(gè)方面,教師認(rèn)真負(fù)責(zé)的工作姿態(tài),謹(jǐn)慎的教學(xué)精神厚重的理論水準(zhǔn)都使我獲益匪淺。他勤懇謹(jǐn)慎的教學(xué)育人學(xué)習(xí)姿態(tài)也給我留下了特別特別深的感覺。我從老師那里學(xué)到了很多東西。在理論和實(shí)踐中,我的技能得到了特別大的提高。在此,特向教師表示由衷的感激。

經(jīng)過對該畢業(yè)設(shè)計(jì)的全部研究和開發(fā),我的系統(tǒng)研發(fā)經(jīng)歷了從需求分析到實(shí)現(xiàn)詳細(xì)功能,再到最終測試和維護(hù)的特殊進(jìn)展。讓我對系統(tǒng)研發(fā)有了更深層次的認(rèn)識。如今我的動(dòng)手本領(lǐng)單獨(dú)處理疑惑的本領(lǐng)也獲取到了特別大的演練學(xué)習(xí)增多,這是這次畢業(yè)設(shè)計(jì)最好的收獲。

最后,在整個(gè)系統(tǒng)開發(fā)過程中,我周圍的同學(xué)和朋友給了我很多意見,所以我很快就確認(rèn)了系統(tǒng)的商業(yè)思想。在次,我由衷的向他們表示感激。

免費(fèi)領(lǐng)取項(xiàng)目源碼,請關(guān)注?點(diǎn)贊收藏并私信博主,謝謝~文章來源地址http://www.zghlxwxcb.cn/news/detail-781399.html

到了這里,關(guān)于springboot+mysql校園招聘系統(tǒng)小程序-計(jì)算機(jī)畢業(yè)設(shè)計(jì)源碼09446的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包