亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        師生雙選系統(tǒng)后端設(shè)計(jì)

        2021-09-13 00:53:20周旺吳昌平李賢和
        無(wú)線互聯(lián)科技 2021年12期
        關(guān)鍵詞:數(shù)據(jù)庫(kù)

        周旺 吳昌平 李賢和

        摘 要:隨著互聯(lián)網(wǎng)的發(fā)展,越來(lái)越多的高校選擇線上填取信息,比如畢業(yè)設(shè)計(jì)的師生雙選系統(tǒng)。當(dāng)學(xué)生選擇自己的老師之后,老師通過(guò)當(dāng)前被選擇的學(xué)生來(lái)決定選擇誰(shuí),這樣就完成了師生雙選。雙選功能給學(xué)生和老師帶來(lái)很大的方便,越來(lái)越多的高校使用這款軟件,也反映著時(shí)代的不斷進(jìn)步和發(fā)展。

        關(guān)鍵詞:師生雙選;數(shù)據(jù)庫(kù);SpringBoot;Lombok;MybatisPlus

        1 師生雙選系統(tǒng)設(shè)計(jì)和前端介紹

        1.1? 功能介紹

        進(jìn)入登錄界面,有3個(gè)選項(xiàng),分別為學(xué)生、老師、管理員。管理員可以新增和修改老師學(xué)生的信息,可以查看到老師的被選課情況和學(xué)生當(dāng)前是否已經(jīng)被選擇,如果學(xué)生已經(jīng)被選擇,那么可以查看當(dāng)前學(xué)生的成績(jī)。進(jìn)入學(xué)生界面可以看見(jiàn)當(dāng)前老師可選擇的剩余數(shù)量(見(jiàn)圖1),比如選擇了兩位老師之后,再進(jìn)入兩位老師的界面(見(jiàn)圖2),如果其中一位老師選擇該學(xué)生,那么另外的老師不能選擇該學(xué)生,這樣就可以實(shí)現(xiàn)師生雙選的功能。

        師生雙選系統(tǒng)對(duì)密碼采用了md5加密處理,保證了數(shù)據(jù)不會(huì)被盜取。整個(gè)系統(tǒng)使用了攔截器,當(dāng)請(qǐng)求出現(xiàn)錯(cuò)誤的時(shí)候會(huì)把錯(cuò)誤信息反饋到前端頁(yè)面[1-3]。

        1.2? 前端設(shè)計(jì)

        相比于傳統(tǒng)的html,css,js,師生雙選系統(tǒng)采用了vue框架,請(qǐng)求方式為ES6的axios請(qǐng)求,UI為Element-ui。相比于傳統(tǒng)的前端設(shè)計(jì)語(yǔ)言,vue的優(yōu)勢(shì)在于方便,性能更好,使用組件能夠極大地提高開(kāi)發(fā)效率。vue主要的功能有axios、router、element-ui、攔截器、信息校驗(yàn),通過(guò)這些功能模塊的使用,保證了開(kāi)發(fā)效率的快速提高。

        2 后端設(shè)計(jì)與實(shí)現(xiàn)

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

        數(shù)據(jù)庫(kù)選擇的版本為5.7版本。該系統(tǒng)主要的數(shù)據(jù)庫(kù)有學(xué)生、老師、學(xué)生-老師、分別表示學(xué)生個(gè)人信息、老師個(gè)人信息、學(xué)生和老師的雙選信息。在學(xué)生-老師這個(gè)表中,設(shè)立choose值,表示當(dāng)choose等于null的時(shí)候,該學(xué)生沒(méi)有被老師選擇,當(dāng)choose等于1的時(shí)候,表示該學(xué)生已經(jīng)被其中老師選擇,并且刪除該學(xué)生choose值為null的所有信息。

        2.2? Lombok設(shè)計(jì)

        在本項(xiàng)目中,采用Lombok提高代碼的使用,讓POJO代碼更加簡(jiǎn)潔,不僅在BO對(duì)象,在設(shè)計(jì)模式中也有大量使用。通過(guò)使用maven項(xiàng)目將Lombok的相關(guān)依賴放入到pom.xml中。相對(duì)于傳統(tǒng)的Spring代碼,對(duì)每個(gè)JavaBean設(shè)立Getter,Setter,HashCode等模板代碼,但通過(guò)lombok的注解@Data,@Builder就可以代替這些代碼。打印日志時(shí)使用@Slf4j,這些極大地提高了代碼開(kāi)發(fā)效率,但缺點(diǎn)是代碼可讀性和可調(diào)式性較低,而且當(dāng)JDK版本進(jìn)行升級(jí)時(shí),Lombok某些特性就會(huì)受到影響。

        2.3? MybatisPlus設(shè)計(jì)

        2.3.1 MybatisPlus的介紹

        MybatisPlus是Mybatis的增加版本,對(duì)Mybatis只增加,不修改,無(wú)侵入,損耗小的特性讓MybatisPlus更好地使用在項(xiàng)目當(dāng)中。通過(guò)內(nèi)置的Mapper和通用的Service可以讓少量的代碼實(shí)現(xiàn)大部分的CRUD操作,滿足大多數(shù)接口的數(shù)據(jù)請(qǐng)求。另外還包括主鍵自動(dòng)生成,支持ActiveRecord模式,內(nèi)置的分頁(yè)插件、代碼生成器、性能分析插件、分頁(yè)插件,支持多種數(shù)據(jù)庫(kù)語(yǔ)言,包括MYSQL,Oracle等。

        2.3.2 MybatisPlus的安裝和配置

        通過(guò)MybatisPlus的官網(wǎng)地址,將主要相關(guān)依賴下載到pom.xml當(dāng)中,將注意MYSQL的版本號(hào),將數(shù)據(jù)庫(kù)的配置信息放入到配置文件application.properties,或者建立yaml文件,也可以將數(shù)據(jù)庫(kù)的信息放入其中。

        2.3.3 SpringBoot和MybatisPlus實(shí)現(xiàn)雙選系統(tǒng)部分功能

        先編寫JsonData類,里面包含返回成功的方法和失敗的方法,作用就是將從后端返回的數(shù)據(jù)打包放到JsonData中返回到前端,這樣前端就可以通過(guò)接口返回的內(nèi)容進(jìn)行判斷。

        比如在學(xué)生選擇老師的過(guò)程中,首先編寫DO類,使用@Data將學(xué)生和老師的成員變量進(jìn)行包裝,實(shí)現(xiàn)過(guò)程如下:controller層→service層→DO層→Mapper層,其中Mapper層要繼承BaseMapper,通過(guò)BaseMapper可以通過(guò)內(nèi)置方法來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,減少了代碼量,實(shí)現(xiàn)CRUD功能。

        2.3.4 MybatisPlus分頁(yè)插件的使用

        分頁(yè)在前端頁(yè)面中使用次數(shù)很多,在項(xiàng)目文件中建立config文件夾,在文件夾中創(chuàng)建MybatisPlusInterceptor的插件對(duì)象,就是通過(guò)攔截器將MYSQL的數(shù)據(jù)進(jìn)行相同批次的攔截。在單元測(cè)試當(dāng)中對(duì)分頁(yè)進(jìn)行測(cè)試,建立QueryWrapper<>()對(duì)象,將參數(shù)信息包裝起來(lái),再通過(guò)Page<>對(duì)象將數(shù)據(jù)計(jì)算出來(lái),就可以獲取當(dāng)前的頁(yè)數(shù)和當(dāng)前頁(yè)內(nèi)容的大小。

        2.3.5 MybatisPlus代碼生成器

        代碼生成器是MybatisPlus的核心,在開(kāi)發(fā)過(guò)程中使用次數(shù)很多,大大地提高了寫代碼的效率。相比于Mybatis的代碼生成器,MybatisPlus強(qiáng)大了很多,它可以自動(dòng)生成Controller,Service,DO,Mapper,Entity,這些文件生成的前提是連接數(shù)據(jù)庫(kù),但也要對(duì)該生成的文件進(jìn)行修改,因?yàn)楹枚喽际枪潭ㄉ?,有些配置不能使用,?huì)導(dǎo)致后續(xù)的耦合性高,成本太大,不利于后臺(tái)的維護(hù)。

        2.3.6 MybatisPlus日志打印

        日志就是記錄信息。在上線的時(shí)候,通過(guò)日志打印將用戶信息輸出,這樣當(dāng)系統(tǒng)進(jìn)行維護(hù)的時(shí)候,可以對(duì)沒(méi)有用的數(shù)據(jù)進(jìn)行刪除,防止磁盤占滿。在Mybatisplus中,使用@Slf4j可以將數(shù)據(jù)打印出來(lái),而且在單元測(cè)試的時(shí)候,可以看到CRUD的具體操作過(guò)程。

        3 后端其他設(shè)計(jì)

        使用IDEA來(lái)編譯后端代碼,因?yàn)镮DEA有很多的自動(dòng)化代碼補(bǔ)全功能。使用PostMan來(lái)對(duì)接口進(jìn)行測(cè)試。用maven項(xiàng)目來(lái)打包項(xiàng)目,使用maven可以提高開(kāi)發(fā)效率,比如當(dāng)引用某個(gè)框架的時(shí)候,就可以通過(guò)導(dǎo)入相關(guān)依賴來(lái)使用框架,在配置maven項(xiàng)目時(shí),可以將阿里云的項(xiàng)目地址來(lái)進(jìn)行本地下載,這樣在導(dǎo)入依賴的時(shí)候可以降低運(yùn)行的時(shí)間。

        4 結(jié)語(yǔ)

        相比如傳統(tǒng)的jsp和javaweb,vue+springboot讓整個(gè)系統(tǒng)性能更加穩(wěn)定,一個(gè)項(xiàng)目是通過(guò)策劃、建模構(gòu)建出來(lái)的,根據(jù)用戶需要不斷地完善功能,所以在開(kāi)發(fā)過(guò)程中,要增加功能來(lái)維護(hù)線上,對(duì)系統(tǒng)整個(gè)數(shù)據(jù)進(jìn)行分配。在項(xiàng)目開(kāi)始的時(shí)候,選擇一個(gè)好的框架極其重要,要實(shí)現(xiàn)系統(tǒng)高內(nèi)聚低耦合,讓系統(tǒng)更加完善。

        [參考文獻(xiàn)]

        [1]鐘茂生,王明文.軟件設(shè)計(jì)模式及其使用[J].計(jì)算機(jī)應(yīng)用,2002(8):34-37.

        [2]馬曉虎.基于B/S結(jié)構(gòu)的通用學(xué)生管理系統(tǒng)的開(kāi)發(fā)[J].電腦知識(shí)與技術(shù)(學(xué)術(shù)交流),2006(14):22.

        [3]黃偉.API服務(wù)中間件的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2020.

        (編輯 何 琳)

        猜你喜歡
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        亚洲日本中文字幕乱码在线| 丰满人妻被两个按摩师| av在线免费观看网站免费| 天堂资源中文网| 欧美人与动牲交a精品| 性色av无码不卡中文字幕| 欧美日韩国产亚洲一区二区三区| 福利片免费 亚洲| 经典黄色一区二区三区| 国产让女高潮的av毛片| 色综合久久88色综合天天| 免费啪啪视频一区| 国产三级在线观看性色av | 狠狠躁夜夜躁人人爽天天古典| 欧妇女乱妇女乱视频| 欧美末成年videos在线观看| 国产美女av一区二区三区| 日韩产的人妻av在线网| 无码人妻久久久一区二区三区| 国产精品v欧美精品v日韩精品| 百合av一区二区三区| 日本熟女视频一区二区三区| 久久久99精品成人片| 999久久久国产精品| 国产美女一级做a爱视频| av中文字幕性女高清在线| 337p粉嫩日本欧洲亚洲大胆| 日本一区午夜艳熟免费 | 全免费a级毛片免费看网站| 亚洲另类激情专区小说婷婷久| 亚洲国语对白在线观看| 国产办公室秘书无码精品99| 黄色成人网站免费无码av| 久久精品熟女亚洲av艳妇| 日本不卡的一区二区三区中文字幕| 超碰色偷偷男人的天堂| 成人免费视频在线观看| 精品国产性色av网站| 蜜桃久久综合一区二区| 蜜臀av无码人妻精品| 国产一品道av在线一二三区|