• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SpringBoot的學(xué)生宿舍管理系統(tǒng)的設(shè)計與實現(xiàn)

      2021-01-14 00:45:42蔣晟陳科
      現(xiàn)代信息科技 2021年12期
      關(guān)鍵詞:數(shù)據(jù)庫設(shè)計

      蔣晟 陳科

      摘 ?要:近年來,隨著高等教育的快速發(fā)展,大學(xué)生的人數(shù)日益增加,然而部分高校仍以人工記錄的方式進行管理。針對這種傳統(tǒng)管理方式,為進一步優(yōu)化宿舍的管理效率,通過使用Springboot架構(gòu)模式與EasyUI前臺框架相結(jié)合,設(shè)計出了一款學(xué)生宿舍管理系統(tǒng)。該系統(tǒng)實現(xiàn)了學(xué)生的入住寢室與交換寢室管理、寢室衛(wèi)生與日常的評級管理、宿舍的報修管理等功能,降低了管理宿舍的難度。

      關(guān)鍵詞:Springboot;Mybatis;數(shù)據(jù)庫設(shè)計;宿舍管理系統(tǒng)

      中圖分類號:TP311 ? 文獻標(biāo)識碼:A ?文章編號:2096-4706(2021)12-0006-04

      Abstract: In recent years, with the rapid development of higher education, the number of college students is increasing day by day. However, some colleges still manage them by means of manual recording. Aiming at this traditional management method, in order to further optimize the management efficiency of the dormitory, a student dormitory management system is designed by combined using the Springboot architecture mode and the EasyUI foreground framework. The system realizes the functions of students' checking in dormitory and exchanging dormitory management, dormitory hygiene and daily rating management, dormitory repair management and so on, and reduces the difficulty of the dormitory management.

      Keywords: Springboot; Mybatis; database design; dormitory management system

      0 ?引 ?言

      大學(xué)宿舍是學(xué)生放松休息的地方,也是入校時每個學(xué)生都會去的地方,對宿舍進行有效的管理,可以減少資源的浪費,也可以使學(xué)生進校后的寢室調(diào)整需求能夠迅速得到解決,減少同學(xué)以及宿舍管理人員的壓力[1]。但多年的人工現(xiàn)場登記方式通常使用紙質(zhì)形式,如果需要查找信息,則十分耗時耗力,并且高校人數(shù)眾多,數(shù)據(jù)更新非常頻繁,很難快速進行操作,所以這種實體資料不利于進行高效管理。此外,學(xué)生如果遇到宿舍里燈管、門鎖等發(fā)生故障,需要自行到相應(yīng)地點進行報修,效率很低。學(xué)生宿舍管理系統(tǒng)不僅可以有效地解決這些問題,而且可以推動宿舍管理向便利化、信息化方向發(fā)展。

      1 ?關(guān)鍵技術(shù)介紹

      1.1 ?SpringBoot框架

      傳統(tǒng)的Spring框架在開始搭建及開發(fā)過程中都會依賴大量的配置,使得開發(fā)效率低下,經(jīng)常會出現(xiàn)各種錯誤,既耗費了開發(fā)人員的精力,浪費了時間,還十分繁瑣。但是SpringBoot是一個效率極高的框架,不僅能夠減少人工依賴的配置問題,它還能全部通過注解的形式進行使用,通過Java應(yīng)用程序執(zhí)行。因此,它能讓編程人員集中精神于業(yè)務(wù)的邏輯進行開發(fā),而無需過多關(guān)注XML配置,大大提高了開發(fā)、部署效率[2]。

      1.2 ?Mybatis框架

      MyBatis是Java中很常用的Object Relational Mapping框架,可以使用注解或者通過XML去配置與映射信息,并且在系統(tǒng)的開發(fā)過程中,不需要耗費大量的時間去對數(shù)據(jù)加載驅(qū)動、創(chuàng)建連接等繁雜的過程進行處理,只需要集中處理SQL語句??梢試?yán)格控制SQL執(zhí)行性能,靈活度很高。也能輕松通過對SQL的優(yōu)化提高接口的性能,適用于需要頻繁優(yōu)化的項目使用[3]。

      1.3 ?JQueryEasyUI簡介

      EasyUI是一個基于JQuery的框架,可以幫助開發(fā)人員輕松創(chuàng)建功能豐富的界面,并且無需編寫復(fù)雜的Javascript,節(jié)省了網(wǎng)頁開發(fā)的時間和規(guī)模,雖然操作簡單但功能強大[4]。

      1.4 ?MySQL簡介

      MySQL,是一個關(guān)系型的數(shù)據(jù)庫管理系統(tǒng),它也是目前最常用、最常見的數(shù)據(jù)庫之一,為了提高運行速度和靈活性,MySQL可以將數(shù)據(jù)存儲在不同的表內(nèi),而不是將數(shù)據(jù)集中存儲在一張表中。MySQL中所使用的SQL語言是訪問數(shù)據(jù)庫最常用的標(biāo)準(zhǔn)化語言[5]。

      2 ?系統(tǒng)分析與設(shè)計

      2.1 ?系統(tǒng)分析

      本系統(tǒng)中可以分為三個身份登錄,分別是:管理員、學(xué)生和宿舍管理員,每個身份角色登錄所執(zhí)行的功能都是不同的。本系統(tǒng)的功能模塊如圖1所示。

      2.1.1 ?管理員端的功能模塊

      管理員包含所有模塊的功能,具體為以下模塊。

      學(xué)生入住管理模塊:

      (1)入住管理:學(xué)生宿舍的分配。

      (2)退寢管理:即刪除退學(xué)、休學(xué)、畢業(yè)的學(xué)生。

      (3)宿舍調(diào)整:調(diào)整申請換寢的學(xué)生信息。

      (4)學(xué)生查詢:提供學(xué)生的名字、學(xué)生編號、宿舍編號等信息的查詢。

      寢室信息管理模塊:

      (1)宿舍管理:對宿舍號和床位進行一個增刪改查的操作。

      (2)樓棟管理:更改新建或已拆卸樓棟的信息。

      宿舍報修管理模塊:為學(xué)生提供宿舍維修申請,并根據(jù)處理情況更新相應(yīng)的操作。

      宿舍評級管理模塊:在宿舍管理人員對宿舍打過分之后,進行一個評級與排名的操作。

      晚歸人員管理模塊:對晚于歸寢限定時間的學(xué)生信息錄入到數(shù)據(jù)庫。

      權(quán)限管理模塊:對用戶的賬戶密碼以及個人信息進行添加、刪除、查詢以及修改操作。

      2.1.2 ?宿管員端的功能模塊

      宿管員具有部分模塊中的部分權(quán)限,如:

      學(xué)生入住管理模塊:學(xué)生查詢——查詢學(xué)生個人姓名、學(xué)號、宿舍號等信息。

      寢室信息模塊:宿舍管理——查詢寢室里的學(xué)生的信息,也能查詢到對應(yīng)床位學(xué)生的信息。

      宿舍報修管理模塊:能夠?qū)ι暾垐笮迣W(xué)生的寢室號、學(xué)生信息以及學(xué)生所發(fā)的評論進行查看,在查看信息之后,進行核對操作,學(xué)生能夠看到發(fā)布的報修信息是否審核成功,最后在完成維修后對該報修信息進行一個回復(fù)與刪除操作。

      宿舍評級管理模塊:對每個學(xué)生宿舍的衛(wèi)生、安全、查寢情況進行評分。

      晚歸人員管理模塊:查詢晚于限定返寢時間的學(xué)生信息。

      權(quán)限管理模塊:修改密碼和信息。

      2.1.3 ?學(xué)生端的功能模塊

      學(xué)生具有部分模塊中的部分權(quán)限,如:

      學(xué)生入住管理模塊:

      (1)學(xué)生查詢:查詢名字、學(xué)生編號、寢室號等信息。

      (2)宿舍調(diào)整:提交自己需要更換寢室的申請。

      宿舍報修管理模塊:提交需要報修的申請和意見,修改和刪除報修信息,查看宿舍管理員的審核狀態(tài)。

      權(quán)限管理模塊:修改自己的密碼以及信息。

      2.2 ?系統(tǒng)主要設(shè)計

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

      在設(shè)計數(shù)據(jù)庫之前,充分認(rèn)識每一個實體的屬性和實體與實體之間的關(guān)系是非常重要且必要的,畫出E-R圖也會提高我們的工作效率,節(jié)省思考時間。系統(tǒng)的實體關(guān)系如圖2所示。

      根據(jù)上面的實體關(guān)系圖,可以設(shè)計出多張表格,并且每張表格都存儲著所對應(yīng)的具體信息,如表1、表2所示。

      2.2.2 ?后臺功能設(shè)計

      登錄功能:用戶輸出賬號密碼進入,在此過程中將會提交form表單并處理post請求,通過type來判斷用戶登錄的角色,通過存儲在庫內(nèi)的用戶數(shù)據(jù)會與輸入的賬號密碼進行一個對比,如果校驗無誤則進入到相應(yīng)的前端界面,如果不一致,則返回到前端并在頁面上返回出相應(yīng)的信息給用戶,以下是功能的實現(xiàn)。

      @PostMapping("/login")

      @ResponseBody

      public AjaxResultsubmitlogin(String username, String password, String code, String type,

      HttpSessionsession){

      AjaxResultajaxResult = new AjaxResult();

      if(StringUtils.isEmpty(username)){

      ajaxResult.setSuccess(false);

      ajaxResult.setMessage("請?zhí)顚懹脩裘?);

      return ajaxResult;

      }

      if(StringUtils.isEmpty(password)){

      ajaxResult.setSuccess(false);

      ajaxResult.setMessage("請?zhí)顚懨艽a");

      return ajaxResult;

      }

      //數(shù)據(jù)庫校驗

      switch (type){

      case "1":{ //管理員

      Admin admin = new Admin();

      admin.setPassword(password);

      admin.setUsername(username);

      Admin ad = adminService.findByAdmin(admin);

      if(StringUtils.isEmpty(ad)){

      ajaxResult.setSuccess(false);

      ajaxResult.setMessage("用戶名或密碼錯誤");

      return ajaxResult;

      }

      ajaxResult.setSuccess(true);

      session.setAttribute(Const.ADMIN,ad);

      session.setAttribute(Const.USERTYPE,"1");

      break;

      }

      增刪改查功能:此功能主要通過Mybatis來實現(xiàn)。一般項目的響應(yīng)過程是用戶向瀏覽器發(fā)起請求,然后瀏覽器將請求發(fā)送到控制器層所對應(yīng)的方法進行處理,然后控制器層將會調(diào)用服務(wù)層的方法進行處理,服務(wù)層調(diào)用Dao層對數(shù)據(jù)執(zhí)行相應(yīng)的數(shù)據(jù)庫操作,然后從同一路徑返回到瀏覽器。使用Mybatis可以將SQL語句從代碼中分離出來,并將其存儲在XML配置文件中,以便于維護和管理,沒有必要在Java代碼中找到這些語句[6]。以下顯示了部分查詢和添加功能代碼:

      <insert id="addStudent" parameterType="Student">

      insert into t_student(student_number,student_name, password,sex,mobile,qq,room_number) ? ? ? ?values(#{student_number},#{student_name},#{password},#{sex},#{mobile},#{qq},#{room_number}) ? ?</insert>

      Select *from t_student

      <where><if test ="student_name!=null"> ?and student_name LIKE concat ("%",#{ ? student_name},"%")</if>

      <if test="room_number!=null"> and room_number LIKE concat("%",#{room_id},"%") </if>

      <if test="student_number!=null"> and id = #{student_number} </if>

      </where>

      寢室報修功能:學(xué)生在發(fā)現(xiàn)宿舍物品或其他問題時,可以提交原因給宿舍管理員。以下為相應(yīng)代碼,報修功能如圖3所示:

      @PostMapping("/addComment")

      @ResponseBody

      public AjaxResultaddComment(Comment comment){

      AjaxResultajaxResult = new AjaxResult();

      try {

      int count = commentService.Comment(comment);

      if(count > 0){

      ajaxResult.setSuccess(true);

      ajaxResult.setMessage("添加成功");

      }else{

      ajaxResult.setSuccess(false);

      ajaxResult.setMessage("添加失敗");

      }

      } catch (Exception e) {

      e.printStackTrace();

      ajaxResult.setSuccess(false);

      ajaxResult.setMessage("系統(tǒng)異常,請重試");

      }

      return ajaxResult;

      }

      2.2.3 ?前端功能設(shè)計

      分頁功能:因為高校學(xué)生人數(shù)眾多,所以必須要有一個分頁功能,分頁處理就是通過點擊按鈕進行跳轉(zhuǎn)到一下頁,也可以修改每頁顯示信息的條數(shù)。通過Easyui,我們可以快速地完成編寫操作。實現(xiàn)功能的具體代碼為:

      前端顯示:分頁的按鈕圖如圖4所示,界面圖如圖5所示:

      var p = $('#dataList').datagrid('getPager');

      $(p).pagination({

      pageSize: 10,//每頁顯示的記錄條數(shù)

      pageList: [10,20,50,100],//可以設(shè)置每頁記錄條數(shù)的列表

      beforePageText: '第',//在頁數(shù)文本框前顯示

      afterPageText: '頁共 {pages} 頁',

      displayMsg: '當(dāng)前顯示 {from} - {to} 條記錄共 {total} 條記錄',

      });

      3 ?結(jié) ?論

      本文基于SpringBoot、Mybatis、EasyUI、MySQL等技術(shù),實現(xiàn)了該系統(tǒng)的功能,且每個角色都能使用相對應(yīng)的功能。在系統(tǒng)的開發(fā)過程中,Springboot和EasyUI這兩個框架給開發(fā)提供了巨大的便利,但是因為本人能力有限,此系統(tǒng)的結(jié)構(gòu)比較單一,功能不夠完美,后期將會添加輔導(dǎo)員與二級學(xué)院管理員等角色進而豐富該系統(tǒng)的結(jié)構(gòu),另外此系統(tǒng)的界面設(shè)計不夠精細(xì)、美觀,這也為進一步完善系統(tǒng)提供了一個思路與方向。

      參考文獻:

      [1] 李政.互聯(lián)網(wǎng)時代高校學(xué)生宿舍管理思考 [J].科技經(jīng)濟導(dǎo)刊,2020,28(34):208-209.

      [2] 張峰.應(yīng)用SpringBoot改變web應(yīng)用開發(fā)模式 [J].科技創(chuàng)新與應(yīng)用,2017(23):193-194.

      [3] 孫浩.基于SpringMVC及MyBatis框架的在線教育平臺的設(shè)計與實現(xiàn) [D].沈陽:沈陽師范大學(xué),2019.

      [4] 申永芳.基于jQuery框架的Web前端開發(fā)的研究 [J].信息通信,2019,32(10):105-107.

      [5] 練振興.MySQL讀寫分離的技術(shù)原理 [J].福建電腦,2019,35(8):49-51.

      [6] 周杰.基于Spring MVC的教務(wù)管理系統(tǒng) [J].電子技術(shù)與軟件工程,2020(4):203-207.

      作者簡介:蔣晟(2000—),男,漢族,四川德陽人,本科在讀,研究方向:軟件工程;陳科(1981—),男,漢族,四川眉山人,副教授,工學(xué)博士,研究方向:計算機應(yīng)用技術(shù),軟件體系架構(gòu)。

      猜你喜歡
      數(shù)據(jù)庫設(shè)計
      試論數(shù)據(jù)庫設(shè)計在網(wǎng)站開發(fā)中的應(yīng)用
      基于WEB的科研信息管理系統(tǒng)的設(shè)計與實現(xiàn)
      軟件開發(fā)中數(shù)據(jù)庫設(shè)計理論的實踐
      面向等級考試,探討高校理工科計算機基礎(chǔ)課程教學(xué)改革
      考試周刊(2016年47期)2016-06-29 22:15:13
      網(wǎng)站管理系統(tǒng)中數(shù)據(jù)庫設(shè)計的應(yīng)用研究
      《數(shù)據(jù)庫原理及應(yīng)用》在線考試系統(tǒng)的設(shè)計
      东乡| 靖宇县| 西华县| 汕尾市| 保山市| 乐清市| 兰考县| 黎川县| 都昌县| 海盐县| 台安县| 泸州市| 定远县| 延吉市| 科技| 登封市| 丹东市| 调兵山市| 德庆县| 辽阳县| 洛隆县| 临猗县| 禹州市| 诏安县| 达拉特旗| 淮南市| 西昌市| 平利县| 塔城市| 蒙城县| 毕节市| 贵定县| 宝兴县| 剑河县| 卓尼县| 九台市| 嵩明县| 利津县| 蕉岭县| 宣化县| 青铜峡市|