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

微信小程序的大學(xué)生心理測試+后臺管理

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序的大學(xué)生心理測試+后臺管理。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?末尾獲取源碼
作者介紹:大家好,我是墨韻,本人4年開發(fā)經(jīng)驗(yàn),專注定制項(xiàng)目開發(fā)

更多項(xiàng)目:CSDN主頁YAML墨韻

學(xué)如逆水行舟,不進(jìn)則退。學(xué)習(xí)如趕路,不能慢一步。

目錄

一、項(xiàng)目簡介

二、開發(fā)技術(shù)與環(huán)境配置

2.1 SSM框架

2.2 Java語言簡介

2.3 Vue的介紹

2.4 mysql數(shù)據(jù)庫介紹

2.5 B/S架構(gòu)

三、系統(tǒng)功能實(shí)現(xiàn)

3.1、系統(tǒng)結(jié)構(gòu)圖

3.2、管理端結(jié)構(gòu)圖

四、系統(tǒng)項(xiàng)目截圖

4.1、學(xué)生端功能模塊

4.1.1、學(xué)生注冊

4.1.2、學(xué)生登錄

4.1.3、首頁

4.1.4、學(xué)生信息

4.1.5、職業(yè)職位

4.1.6、活動(dòng)項(xiàng)目

4.1.7、用戶信息

4.1.8、我的

4.2、管理員服務(wù)端功能

4.2.1、登錄

4.2.2、后臺系統(tǒng)首頁

4.2.3、學(xué)生管理

4.2.4、職業(yè)職位管理

4.2.5、職位申請管理

4.2.6、活動(dòng)項(xiàng)目管理

4.2.7、試題管理

4.2.8、系統(tǒng)管理

五、核心代碼

5.1、文件上傳

5.2、數(shù)據(jù)庫配置

5.3、登錄功能實(shí)現(xiàn)

5.4、業(yè)務(wù)層(Service)

5.5、數(shù)據(jù)訪問層(Dao)

一、項(xiàng)目簡介

隨著社會經(jīng)濟(jì)的發(fā)展,醫(yī)療衛(wèi)生事業(yè)取得了巨大進(jìn)步,在健康中心理健康占據(jù)越來越重要的地位,什么是心理健康:心理健康,從廣義上講,是指一種高效而滿意的、持續(xù)的心理狀態(tài)。從狹義上講,心理健康是指人的基本心理活動(dòng)的過程內(nèi)容完整、協(xié)調(diào)一致,即認(rèn)識、情感、意志、行為、人格完整和協(xié)調(diào),能適應(yīng)社會,與社會保持同步。
全國有20.23%的大學(xué)生存在不同程度的心理障礙甚至心理疾患,25%的大學(xué)生需要精神衛(wèi)生服務(wù),10%有明顯的心理障礙癥狀,急需心理咨詢與心理治療。心理障礙已成為當(dāng)今大學(xué)生身心健康的最大威脅。心理測試顯得十分必要,
心理測試開發(fā)使系統(tǒng)能夠更加方便學(xué)生捷,同時(shí)也促使心理測試變的更加系統(tǒng)化、有序化。系統(tǒng)界面較友好,易于操作。具體在系統(tǒng)設(shè)計(jì)上,客戶端使用微信開發(fā)者,后臺也使用java技術(shù)在動(dòng)態(tài)頁面上進(jìn)行了設(shè)計(jì),Mysql數(shù)據(jù)庫,是一個(gè)非常優(yōu)秀的大學(xué)生心理測試系統(tǒng)小程序。

二、開發(fā)技術(shù)與環(huán)境配置

以Java語言為開發(fā)工具,利用SSM框架,以IDEA為系統(tǒng)開發(fā)工具,MySQL為后臺數(shù)據(jù)庫,vue為后臺管理頁面開發(fā)的一個(gè)大學(xué)生心理測試系統(tǒng)。

2.1 SSM框架

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個(gè)開源框架整合而成(SpringMVC是Spring中的部分內(nèi)容)。常作為數(shù)據(jù)源較簡單的web項(xiàng)目的框架。

2.1.1 Spring

Spring就像是整個(gè)項(xiàng)目中裝配bean的大工廠,在配置文件中可以指定使用特定的參數(shù)去調(diào)用實(shí)體類的構(gòu)造方法來實(shí)例化對象。也可以稱之為項(xiàng)目中的粘合劑。

Spring的核心思想是IoC(控制反轉(zhuǎn)),即不再需要程序員去顯式地`new`一個(gè)對象,而是讓Spring框架幫你來完成這一切。

1.6.2 SpringMVC

SpringMVC在項(xiàng)目中攔截用戶請求,它的核心Servlet即DispatcherServlet承擔(dān)中介或是前臺這樣的職責(zé),將用戶請求通過HandlerMapping去匹配Controller,Controller就是具體對應(yīng)請求所執(zhí)行的操作。SpringMVC相當(dāng)于SSH框架中struts。

1.6.3 mybatis

mybatis是對jdbc的封裝,它讓數(shù)據(jù)庫底層操作變的透明。mybatis的操作都是圍繞一個(gè)sqlSessionFactory實(shí)例展開的。mybatis通過配置文件關(guān)聯(lián)到各實(shí)體類的Mapper文件,Mapper文件中配置了每個(gè)類對數(shù)據(jù)庫所需進(jìn)行的sql語句映射。在每次與數(shù)據(jù)庫交互時(shí),通過sqlSessionFactory拿到一個(gè)sqlSession,再執(zhí)行sql命令。

頁面發(fā)送請求給控制器,控制器調(diào)用業(yè)務(wù)層處理邏輯,邏輯層向持久層發(fā)送請求,持久層與數(shù)據(jù)庫交互,后將結(jié)果返回給業(yè)務(wù)層,業(yè)務(wù)層將處理邏輯發(fā)送給控制器,控制器再調(diào)用視圖展現(xiàn)數(shù)據(jù)

2.2 Java語言簡介

Java是由SUN公司推出,該公司于2010年被oracle公司收購。Java本是印度尼西亞的一個(gè)叫做爪洼島的英文名稱,也因此得來java是一杯正冒著熱氣咖啡的標(biāo)識。Java語言在移動(dòng)互聯(lián)網(wǎng)的大背景下具備了顯著的優(yōu)勢和廣闊的前景,它是面向?qū)ο蟮模植际降?,?dòng)態(tài)的,具有平臺無關(guān)性、安全性、健壯性。Java語言的基本語句語法和C++一樣,但是它面向?qū)ο蟮募夹g(shù)更加徹底,因?yàn)镴ava要求將所有的內(nèi)容都必須封裝成類,把類作為程序的基本單位。由于不允許類外有變量、方法。 Java語言的分布式體現(xiàn)在數(shù)據(jù)分布和操作分布,它是面向網(wǎng)絡(luò)的語言,可以處理TCP/IP協(xié)議,它也支持客戶機(jī)/服務(wù)器的計(jì)算模式。Java語言的動(dòng)態(tài)性是指類在運(yùn)行時(shí)是動(dòng)態(tài)安裝的,使得Java可以動(dòng)態(tài)的維護(hù)程序。Java不支持指針,對內(nèi)存訪問的所有操作都是通過對象實(shí)例化實(shí)現(xiàn)的,這樣就避免了指針操作中易產(chǎn)生的錯(cuò)誤,同時(shí)也預(yù)防了病毒對系統(tǒng)的破壞和威脅。

Java語言的編程風(fēng)格與C語言非常接近,它繼承了C++面向?qū)ο蠹夹g(shù)的核心,它面世之后發(fā)展迅速,非常流行,對高級C語言形成了很大的沖擊。業(yè)內(nèi)人士稱之為“一次編譯、到處執(zhí)行”。當(dāng)然java也有缺點(diǎn),在每次執(zhí)行編譯后,字節(jié)碼都需要消耗一定的時(shí)間,在某些程度上降低了性能。但是這并不影響java成為此次設(shè)計(jì)語言的選擇。Java語言簡單易學(xué),使用它的編程時(shí)間短,功能性強(qiáng),開發(fā)者學(xué)習(xí)起來更簡便、更快。Java的主要特性有以下幾個(gè):

面向?qū)ο?br> 面向?qū)ο笥兴膫€(gè)特點(diǎn):封裝、繼承、多態(tài)、抽象。抽象是指忽略一個(gè)問題中的次要部分,關(guān)注主要部分。多態(tài)是指對同一種消息做出的不同反應(yīng)。繼承是指在原有的父類方法基礎(chǔ)上增加自己獨(dú)有的方法,而不改變原來父類。

平臺無關(guān)性、
Java編譯出來的是字節(jié)碼,直接由虛擬機(jī)執(zhí)行。在任何平臺上,只要有Java虛擬機(jī),Java代碼都能運(yùn)行。

可靠性和安全性
Java對內(nèi)存的訪問都必須通過對象的實(shí)例變量來實(shí)現(xiàn),避免了指針中出現(xiàn)的錯(cuò)誤。

多線程
Java提供了多線程功能,利用編程實(shí)現(xiàn)同一時(shí)間同時(shí)工作的功能。

2.3 Vue的介紹

Vue.js致力于構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的web應(yīng)用開發(fā)框架,以簡潔化,輕量級,數(shù)據(jù)驅(qū)動(dòng),模塊友好等優(yōu)勢深受企業(yè)以及前端開發(fā)者的喜愛,成為前端開發(fā)人員必備的技能。Vue3.0的出現(xiàn),又帶動(dòng)周邊生態(tài)的發(fā)展,奠定了vue在企業(yè)級開發(fā)的重要地位。

Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。與其它大型框架不同的是,Vue 被設(shè)計(jì)為可以自底向上逐層應(yīng)用。Vue 的核心庫只關(guān)注視圖層,不僅易于上手,還便于與第三方庫或既有項(xiàng)目整合。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時(shí),Vue 也完全能夠?yàn)閺?fù)雜的單頁應(yīng)用提供驅(qū)動(dòng)。

漸進(jìn)式框架做分層設(shè)計(jì),每層都可選,不同層可以靈活接入其他方案。而當(dāng)你都想用官方的實(shí)現(xiàn)時(shí),會發(fā)現(xiàn)也早已準(zhǔn)備好,各層之間包括配套工具都能比接入其他方案更便捷地協(xié)同工作。 一個(gè)個(gè)放入,放多少就做多少。

2.4 mysql數(shù)據(jù)庫介紹

利用MYSQL的數(shù)據(jù)獨(dú)立性、安全性等特點(diǎn),在軟件項(xiàng)目中對數(shù)據(jù)進(jìn)行操作,可以保證數(shù)據(jù)準(zhǔn)確無誤,并降低了程序員的應(yīng)用開發(fā)時(shí)間。
MYSQL的特點(diǎn)是支持多線程,能方便的對系統(tǒng)資源充分利用,有效提高速度,還提供多種方式途徑來對數(shù)據(jù)庫進(jìn)行連接;MYSQL的功能相對弱小、規(guī)模也小,但本系統(tǒng)要求不高,MYSQL完全可以滿足本系統(tǒng)使用。
利用MYSQL建立系統(tǒng)數(shù)據(jù)庫,不僅有利于數(shù)據(jù)處理業(yè)務(wù)的早期整合,還能利于發(fā)展后兩種數(shù)據(jù)擴(kuò)展的操作。

2.5 B/S架構(gòu)

B/S結(jié)構(gòu)是目前使用最多的結(jié)構(gòu)模式,它可以使得系統(tǒng)的開發(fā)更加的簡單,好操作,而且還可以對其進(jìn)行維護(hù)。使用該結(jié)構(gòu)時(shí)只需要在計(jì)算機(jī)中安裝數(shù)據(jù)庫,和一些很常用的瀏覽器就可以了。瀏覽器就會與數(shù)據(jù)庫進(jìn)行信息的連接,可以實(shí)現(xiàn)很多的功能,B/S結(jié)構(gòu)是可以直接進(jìn)行使用的,而且B/S結(jié)構(gòu)在使用中極大的減少了工作的維護(hù)?;贐/S的軟件,所有的數(shù)據(jù)庫之間都是相互獨(dú)立的,因此是非常安全的。因?yàn)榛贐/S結(jié)構(gòu)可以清楚的看到系統(tǒng)正在處理的業(yè)務(wù),并且能夠及時(shí)的讓管理人員做出決策,這樣就可以避免企業(yè)的損失。B/S結(jié)構(gòu)的基本特點(diǎn)是集中式的管理模式,用戶使用系統(tǒng)生成數(shù)據(jù)后,這些數(shù)據(jù)就可以存儲到系統(tǒng)的數(shù)據(jù)庫中,方便日后能夠用到,這樣就可以滿足人們的所有的需求。

三、系統(tǒng)功能實(shí)現(xiàn)

3.1、系統(tǒng)結(jié)構(gòu)圖

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

3.2、管理端結(jié)構(gòu)圖

?微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

四、系統(tǒng)項(xiàng)目截圖

4.1、學(xué)生端功能模塊

4.1.1、學(xué)生注冊

在學(xué)生注冊頁面可以填寫賬號、姓名、性別、年齡、手機(jī)、郵箱等信息,進(jìn)行注冊

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.1.2、學(xué)生登錄

在學(xué)生登錄頁面填寫賬號、密碼進(jìn)行登錄

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.1.3、首頁

學(xué)生登錄到心理測試可以查看首頁、職業(yè)職位、活動(dòng)項(xiàng)目、交流論壇、我的等內(nèi)容

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.1.4、學(xué)生信息

在生信息頁面可以編輯賬號、姓名、性別、年齡、手機(jī)、郵箱、照片等信息,并可根據(jù)需要進(jìn)行添加、刪除、修改進(jìn)行保存

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.1.5、職業(yè)職位

在職業(yè)職位頁面可以查看標(biāo)題、企業(yè)、部門、職位、學(xué)歷、薪資、封面、電話、地址等信息進(jìn)行收藏、點(diǎn)贊、申請操作

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.1.6、活動(dòng)項(xiàng)目

在活動(dòng)項(xiàng)目頁面可以查看活動(dòng)、類型、時(shí)長、時(shí)間、地點(diǎn)、封面、詳情等信息進(jìn)行收藏、點(diǎn)贊、申請操作,進(jìn)行收藏、點(diǎn)贊、報(bào)名

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.1.7、用戶信息

在用戶信息頁面可以查看賬號、姓名、性別、年齡、手機(jī)、郵箱、照片等進(jìn)行添加、修改、刪除

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.1.8、我的

在我的頁面可以查看個(gè)人信息、職業(yè)職位、職位申請、活動(dòng)項(xiàng)目、活動(dòng)報(bào)名、我的收藏管理、考試記錄、試卷列表、心理疏導(dǎo)、我要發(fā)貼、我的發(fā)貼等信息進(jìn)行查看

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.2、管理員服務(wù)端功能

4.2.1、登錄

管理員通過填寫賬號、密碼、角色進(jìn)行登錄

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.2.2、后臺系統(tǒng)首頁

可以進(jìn)行查看首頁、個(gè)人中心、學(xué)生管理、職業(yè)職位管理、職位申請管理、活動(dòng)類型管理、活動(dòng)項(xiàng)目管理、活動(dòng)報(bào)名管理、試卷管理、試題管理、交流論壇、系統(tǒng)管理等功能模塊,進(jìn)行相對應(yīng)操作,管理員對個(gè)人中心進(jìn)行操作填寫原密碼、新密碼、確認(rèn)密碼并進(jìn)行添加、刪除、修改以及查看

?微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.2.3、學(xué)生管理

管理員通過學(xué)生信息頁面查看賬號、姓名、性別、年齡、手機(jī)、郵箱、照片等進(jìn)行詳情、修改、刪除操作

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.2.4、職業(yè)職位管理

管理員通過職業(yè)職位管理頁面查看標(biāo)題、企業(yè)、部門、職位、學(xué)歷、薪資、封面、電話、地址等進(jìn)行詳情、修改、刪除操作

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.2.5、職位申請管理

管理員通過職位申請管理頁面進(jìn)行查看審核、詳情、修改、刪除操作

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.2.6、活動(dòng)項(xiàng)目管理

管理員通過活動(dòng)項(xiàng)目管理頁面查看活動(dòng)、類型、時(shí)長、時(shí)間、地點(diǎn)、封面、詳情等進(jìn)行詳情、修改、刪除操作

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.2.7、試題管理

管理員通過試題管理頁面查看試題、類型、分?jǐn)?shù)、分析、排序等進(jìn)行詳情、修改、刪除、提交操作

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

4.2.8、系統(tǒng)管理

管理員通過系統(tǒng)管理頁面查看系統(tǒng)公告、心理疏導(dǎo)、輪播圖管理等進(jìn)行發(fā)布公告、回復(fù)、上傳圖片等進(jìn)行添加、刪除、修改以及查看并對整個(gè)系統(tǒng)進(jìn)行維護(hù)等操作
?微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試

微信小程序的大學(xué)生心理測試+后臺管理,微信小程序,springboot,畢設(shè),微信小程序,小程序,大學(xué)生心理測試文章來源地址http://www.zghlxwxcb.cn/news/detail-826694.html

五、核心代碼

5.1、文件上傳

/**
 * 上傳文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
	@Autowired
    private ConfigService configService;
	/**
	 * 上傳文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上傳文件不能為空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		/**
  		 * 如果使用idea或者eclipse重啟項(xiàng)目,發(fā)現(xiàn)之前上傳的圖片或者文件丟失,將下面一行代碼注釋打開
   		 * 請將以下的"D:\\springbootq33sd\\src\\main\\resources\\static\\upload"替換成你本地項(xiàng)目的upload路徑,
 		 * 并且項(xiàng)目路徑不能存在中文、空格等特殊字符
 		 */
//		FileUtils.copyFile(dest, new File("D:\\springbootq33sd\\src\\main\\resources\\static\\upload"+"/"+fileName)); /**修改了路徑以后請將該行最前面的//注釋去掉**/
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下載文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public ResponseEntity<byte[]> download(@RequestParam String fileName) {
		try {
			File path = new File(ResourceUtils.getURL("classpath:static").getPath());
			if(!path.exists()) {
			    path = new File("");
			}
			File upload = new File(path.getAbsolutePath(),"/upload/");
			if(!upload.exists()) {
			    upload.mkdirs();
			}
			File file = new File(upload.getAbsolutePath()+"/"+fileName);
			if(file.exists()){
				HttpHeaders headers = new HttpHeaders();
			    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
			    headers.setContentDispositionFormData("attachment", fileName);    
			    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
	}
	
}

5.2、數(shù)據(jù)庫配置

server:
    tomcat:
        uri-encoding: UTF-8
    port: 8080
    servlet:
        context-path: /springbootr1tjf

spring:
    datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/springbootr1tjf?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
        username: root
        password: 123456

#        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
#        url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springbootr1tjf
#        username: sa
#        password: 123456

    servlet:
      multipart:
        max-file-size: 10MB
        max-request-size: 10MB
    resources:
      static-locations: classpath:static/,file:static/

#mybatis
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  #實(shí)體掃描,多個(gè)package用逗號或者分號分隔
  typeAliasesPackage: com.entity
  global-config:
    #主鍵類型  0:"數(shù)據(jù)庫ID自增", 1:"用戶輸入ID",2:"全局唯一ID (數(shù)字類型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 1
    #字段策略 0:"忽略判斷",1:"非 NULL 判斷"),2:"非空判斷"
    field-strategy: 2
    #駝峰下劃線轉(zhuǎn)換
    db-column-underline: true
    #刷新mapper 調(diào)試神器
    refresh-mapper: true
    #邏輯刪除配置
    logic-delete-value: -1
    logic-not-delete-value: 0
    #自定義SQL注入器
    sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    call-setters-on-nulls: true
    #springboot 項(xiàng)目mybatis plus 設(shè)置 jdbcTypeForNull (oracle數(shù)據(jù)庫需配置JdbcType.NULL, 默認(rèn)是Other)
    jdbc-type-for-null: 'null' 

5.3、登錄功能實(shí)現(xiàn)

 
package com.controller;
 
 
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
 
import javax.servlet.http.HttpServletRequest;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
 
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
 
/**
 * 登錄相關(guān)
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;
 
	/**
	 * 登錄
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("賬號或密碼不正確");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注冊
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", 
            user.getUsername())) !=null) {
    		return R.error("用戶已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密碼重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity> 
                          ().eq("username", username));
    	if(user==null) {
    		return R.error("賬號不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密碼已重置為:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }
 
	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }
 
    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 獲取用戶的session用戶信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
 
    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username",                 
            user.getUsername())) !=null) {
    		return R.error("用戶已存在");
    	}
        userService.insert(user);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
        userService.updateById(user);//全部更新
        return R.ok();
    }
 
    /**
     * 刪除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}
 

5.4、業(yè)務(wù)層(Service)


package com.service;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.entity.UserEntity;
import com.utils.PageUtils;


/**
 * 系統(tǒng)用戶
 */
public interface UserService extends IService<UserEntity> {
 	PageUtils queryPage(Map<String, Object> params);
    
   	List<UserEntity> selectListView(Wrapper<UserEntity> wrapper);
   	
   	PageUtils queryPage(Map<String, Object> params,Wrapper<UserEntity> wrapper);
	   	
}

5.5、數(shù)據(jù)訪問層(Dao)

package com.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.entity.UserEntity;

/**
 * 用戶
 */
public interface UserDao extends BaseMapper<UserEntity> {
	
	List<UserEntity> selectListView(@Param("ew") Wrapper<UserEntity> wrapper);

	List<UserEntity> selectListView(Pagination page,@Param("ew") Wrapper<UserEntity> wrapper);
	
}


到了這里,關(guān)于微信小程序的大學(xué)生心理測試+后臺管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(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)文章

  • 基于Java+Vue+uniapp微信小程序大學(xué)生心理健康服務(wù)設(shè)計(jì)和實(shí)現(xiàn)

    基于Java+Vue+uniapp微信小程序大學(xué)生心理健康服務(wù)設(shè)計(jì)和實(shí)現(xiàn)

    博主介紹 : ? 全網(wǎng)粉絲30W+,csdn特邀作者、博客專家、CSDN新星計(jì)劃導(dǎo)師、Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質(zhì)作者、專注于Java技術(shù)領(lǐng)域和畢業(yè)項(xiàng)目實(shí)戰(zhàn) ? ?? 文末獲取源碼聯(lián)系 ?? ?????精彩專欄 推薦訂閱 ?????不然下次找不到喲 2022-2024年

    2024年02月05日
    瀏覽(29)
  • 微信小程序uniapp+vue+hbuiderx高校大學(xué)生心理咨詢系統(tǒng)22fo3

    微信小程序uniapp+vue+hbuiderx高校大學(xué)生心理咨詢系統(tǒng)22fo3

    該微信小程序的高校心理咨詢采用Uni-weixin、SpringBoot架構(gòu)技術(shù),微信端以小程序頁面呈現(xiàn)給用戶,結(jié)合后臺java語言使頁面更加完善,后臺使用MySQL數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲。該微信小程序主要設(shè)計(jì)并完成了管理過程中的用戶注冊登錄、個(gè)人信息修改、用戶信息、心理老師、心理知

    2024年02月22日
    瀏覽(21)
  • Springboot計(jì)算機(jī)畢業(yè)設(shè)計(jì)大學(xué)生心理咨詢微信小程序【附源碼】開題+論文+mysql+程序+部署

    Springboot計(jì)算機(jī)畢業(yè)設(shè)計(jì)大學(xué)生心理咨詢微信小程序【附源碼】開題+論文+mysql+程序+部署

    本系統(tǒng) (程序+源碼) 帶文檔lw萬字以上 ? 文末可獲取一份本項(xiàng)目的java源碼和數(shù)據(jù)庫參考。 研究背景 隨著社會的快速發(fā)展,大學(xué)生面臨著越來越多的學(xué)業(yè)、就業(yè)和人際關(guān)系等方面的壓力,心理健康問題日益凸顯。傳統(tǒng)的心理咨詢方式受限于時(shí)間、地點(diǎn)和資源的限制,難以滿

    2024年04月13日
    瀏覽(24)
  • 微信小程序畢業(yè)設(shè)計(jì)作品成品(82)微信小程序心理測試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    微信小程序畢業(yè)設(shè)計(jì)作品成品(82)微信小程序心理測試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    博主介紹:《Vue.js入門與商城開發(fā)實(shí)戰(zhàn)》《微信小程序商城開發(fā)》圖書作者,CSDN博客專家,在線教育專家,CSDN鉆石講師;專注大學(xué)生畢業(yè)設(shè)計(jì)教育和輔導(dǎo)。 所有項(xiàng)目都配有從入門到精通的基礎(chǔ)知識視頻課程,免費(fèi) 項(xiàng)目配有對應(yīng)開發(fā)文檔、開題報(bào)告、任務(wù)書、PPT、論文模版等

    2024年02月08日
    瀏覽(96)
  • 基于微信小程序的大學(xué)生校園兼職平臺

    基于微信小程序的大學(xué)生校園兼職平臺

    ??博主介紹 :??全網(wǎng)個(gè)人號和企業(yè)號 粉絲40W+ , 每年輔導(dǎo)幾千名大學(xué)生較好的完成畢業(yè)設(shè)計(jì),專注計(jì)算機(jī)軟件領(lǐng)域的項(xiàng)目研發(fā),不斷的進(jìn)行新技術(shù)的項(xiàng)目實(shí)戰(zhàn)?? ?? 熱門專欄 推薦訂閱 ?? 訂閱收藏起來,防止下次找不到 ??千套JAVA項(xiàng)目實(shí)戰(zhàn)持續(xù)更新中~ ??百套小程序A

    2024年02月03日
    瀏覽(25)
  • 最新-基于微信小程序的大學(xué)生校園兼職平臺

    最新-基于微信小程序的大學(xué)生校園兼職平臺

    ?博主介紹 :??全網(wǎng)個(gè)人號和企業(yè)號 粉絲40W+ ,每年輔導(dǎo)幾千名大學(xué)生較好的完成畢業(yè)設(shè)計(jì),專注計(jì)算機(jī)軟件領(lǐng)域的項(xiàng)目研發(fā),不斷的進(jìn)行新技術(shù)的項(xiàng)目實(shí)戰(zhàn)?? ?? 熱門專欄 推薦訂閱 ?? 訂閱收藏起來,防止下次找不到 ??千套JAVA實(shí)戰(zhàn)項(xiàng)目持續(xù)更新中~ ??上百套小程序?qū)?/p>

    2024年01月18日
    瀏覽(25)
  • 高校大學(xué)生互助學(xué)習(xí)平臺vue+uniapp 微信小程序

    高校大學(xué)生互助學(xué)習(xí)平臺vue+uniapp 微信小程序

    (1)通過高校大學(xué)生互助學(xué)習(xí)平臺事前調(diào)查及分析軟件開發(fā)的一般趨勢,軟件正常決定是否可以實(shí)現(xiàn)大學(xué)生互助學(xué)習(xí),以及系統(tǒng)的功能模塊的設(shè)計(jì)及開發(fā),技術(shù)和體現(xiàn)的使用程序開發(fā)。 ?(2)能夠幫助實(shí)現(xiàn)屬于框架的一種集合功能,構(gòu)建軟件開發(fā)者快速的軟件層次結(jié)構(gòu)和多中華功能的

    2024年02月19日
    瀏覽(21)
  • 《微信小程序案例大全》大學(xué)生期末大作業(yè)可以直接使用!!

    《微信小程序案例大全》大學(xué)生期末大作業(yè)可以直接使用!!

    在大學(xué)生活中,期末大作業(yè)是鍛煉和展示自己所學(xué)知識的重要時(shí)刻。微信小程序作為一種快速、便捷的應(yīng)用開發(fā)方式,成為了大學(xué)生開發(fā)實(shí)踐的熱門選擇。本文將為大家推薦一系列可以直接使用的微信小程序案例,包括仿真社交、圖書管理、學(xué)習(xí)工具等多個(gè)領(lǐng)域。 下面是一系

    2024年02月04日
    瀏覽(93)
  • 基于微信小程序的大學(xué)生二手物品閑置交易系統(tǒng)

    基于微信小程序的大學(xué)生二手物品閑置交易系統(tǒng)

    互聯(lián)網(wǎng)具有傳統(tǒng)產(chǎn)業(yè)所缺乏的許多固有優(yōu)勢。信息的傳播不再受地域限制,具有高效傳播的特點(diǎn)。閑置資源市場一直存在,但是由于缺乏交易渠道,許多仍然有價(jià)值的商品經(jīng)常被丟棄或閑置,這不僅造成資源浪費(fèi),而且對環(huán)境產(chǎn)生一定的影響。如果將互聯(lián)網(wǎng)與閑置市場連接起

    2024年02月06日
    瀏覽(35)
  • 案例116:基于微信小程序的大學(xué)生就業(yè)平臺設(shè)計(jì)與實(shí)現(xiàn)

    案例116:基于微信小程序的大學(xué)生就業(yè)平臺設(shè)計(jì)與實(shí)現(xiàn)

    文末獲取源碼 開發(fā)語言:Java 框架:SSM JDK版本:JDK1.8 數(shù)據(jù)庫:mysql 5.7 開發(fā)軟件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序開發(fā)軟件:HBuilder X 小程序運(yùn)行軟件:微信開發(fā)者 目錄 目錄 前言 系統(tǒng)展示 微信端功能模塊的實(shí)現(xiàn) 微信端登錄界面 首頁界面 招聘詳

    2024年01月21日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包