w1基于springboot高校学生评教系统

🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。

  1. 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
  2. 赠送计算机毕业设计600个选题excel文件,帮助大学选题。
  3. 赠送开题报告模板,帮助书写开题报告。

作者完整代码目录供你选择:

  1. 《Springboot网站项目》400套
  2. 《ssm网站项目》800套
  3. 《小程序项目》300套
  4. 《App项目》500套
  5. 《Python网站项目》600套

⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️

⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

项目展示

摘 要

随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设高校学生评教系统。

本设计主要实现集人性化、高效率、便捷等优点于一身的高校学生评教系统,完成首页、用户管理(管理员、教师用户、学生用户)更多管理(评教信息、评价打分、指标管理、课程管理、教师评分统计)等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。只需通过一台电脑,动动手指就可以操作系统,实现数据通信管理。整个系统的设计过程都充分考虑了数据的安全、稳定及可靠等问题,而且操作过程简单。本系统通过科学的管理方式、便捷的服务提高了工作效率,减少了数据存储上的错误和遗漏。

高校学生评教系统使用Java语言,使用springboot 技术开发,数据方面主要采用的是微软的MySQL关系型数据库来作为数据存储媒介完成系统的开发。

关键字:毕业设计 Mysql数据库 springboot框架

第一章 绪 论

1.1背景及意义

系统管理也都将通过计算机进行整体智能化操作,对于高校学生评教系统所牵扯的管理及数据保存都是非常多的,例如管理员:首页、用户管理(管理员、教师用户、学生用户)更多管理(评教信息、评价打分、指标管理、课程管理、教师评分统计)这给管理者的工作带来了巨大的挑战,面对大量的信息,传统的管理系统,都是通过笔记的方式进行详细信息的统计,后来出现电脑,通过电脑输入软件将纸质的信息统计到电脑上,这种方式比较传统,而且想要统计数据信息比较麻烦,还受时间和空间的影响,所以为此开发了高校学生评教系统;为用户提供了方便管理平台,方便管理员查看及维护,并且可以通过需求进行内容的编辑及维护等;对于用户而言,可以随时进行查询所需信息,管理员可以足不出户就可以获取到系统的数据信息等,而且还能节省用户很多时间,所以开发高校学生评教系统给管理者带来了很大的方便,同时也方便管理员对用户信息进行处理。

本论文高校学生评教系统主要牵扯到的程序,数据库与计算机技术等。覆盖知识面大,可以大大的提高系统人员工作效率。

1.2 国内外 研究概况

随着国内经济形势的不断发展,中国互联网进入了一个难得的高峰发展时期,这使得中外资本家纷纷转向互联网市场。 然而,许多管理领域的不合理结构,人员不足以及市场管理需求的增加使得更多的人具备了互联网管理的意识。

在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。 "高校学生评教系统"是基于Mysql数据库,在springboot框架程序设计的基础上实现的。为确保中国经济的持续发展,信息时代日益更新,服务行业仍在蓬勃发展。同时,随着信息社会的快速发展,各种管理系统面临着越来越多的数据需要处理,如何用方便快捷的方式使管理者在广阔的数据海洋里面查询、存储、管理和共享有效的数据信息,对我们的学习,工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究,一个新的研究领域------springboot诞生了。

1.3 研究的内容

目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的信息管理软件仍没有得到大多数人的了解或认可。本选题则旨在通过标签分类管理等方式,实现高校学生评教系统的各种功能,从而达到对高校学生评教系统的管理。

详细内容介绍,将在以下六章中详细阐述:

第一章、绪论,介绍了研究课题选择的背景及意义、研究现状,简要介绍了本文的章节内容。

第二章、引入技术知识,通过引入关键技术进行开发,向系统中涉及直观表达的技术知识。

第三章、重点分析了系统的分析,从系统强大的供需市场出发,对系统开发的可行性,系统流程以及系统性能和功能进行了探讨。

第四章、介绍了系统的详细设计方案,包括系统结构设计和数据库设计。

第五章、系统设计的实现,通过对系统功能设计的详细说明,论证了系统的结构。

第六章、系统的整体测试,评判系统是否可以上线运行。

第二章 关键技术的研究

2.1 开发技术

本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用ssm作为开发框架,同时集成MyBatis、Redis等相关技术。

2.2 MVVM模式

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频视频3D动画......,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

2.3 MySQL数据库

科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的高校学生评教系统也需要这项技术的支持。

用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象。

2.4 B/S结构

B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到"瘦身"效果, 不需要考虑不停装软件的问题。

2.5 SpringBoot框架介绍

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

2.6 Vue.js 主要功能

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架------它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。

第三章 系统分析

3.1 系统设计目标

高校学生评教系统主要是为了用户方便对首页、评教信息、评价打分等进行操作,也是为了更好的让管理员进行更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。

系统所要实现的功能分析,对于现在网络方便的管理,根据自己的需求可以进行查看等,这样既能节省用户的时间,不用在像传统的方式,需要查询、由于很多用户时间的原因,没有办法去线下了解信息,真的很难去满足用户的各种需求。所以高校学生评教系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。

3.2 系统可行性分析

系统的开发环境和配置都是可以自行安装的,系统使用springboot开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台之间相关的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。

(1)硬件可行性分析

高校学生评教系统及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开系统必须顺畅,不能停顿太长时间;性价比高;安全性高。

(2)软件可行性分析

提供类似于借口动态模型的通用机制,设计更加集中。 此外,可以使用java语言轻松实现模块化和存储信息。另外,代码重用,也可以很好地反映出来。因此,考虑到系统的实际情况,选择springboot框架作为系统开发技术。通过以上分析,系统的设计和实现在软件中是可行的。

因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。

3.3 系统功能分析和描述

使用高校学生评教系统的分为管理员和用户、教师三个权限模块。

管理员所能使用的功能主要有管理员:首页、用户管理(管理员、教师用户、学生用户)更多管理(评教信息、评价打分、指标管理、课程管理、教师评分统计)等功能模块。

学生可以实现首页、评教信息、评价打分。

教师可以实现首页、学生用户、指标管理、课程管理。

3.4系统UML用例分析

3.4.1管理员用例

管理员登录后可进行首页、用户管理(管理员、教师用户、学生用户)更多管理(评教信息、评价打分、指标管理、课程管理、教师评分统计),管理员的用例如图3-1所示。

图3-1 管理员用例图

3.4.2学生用例

学生登录后可进行首页、评教信息、评价打分,学生用例如图3-2所示。

图3-3 教师用例图

3.5系统流程分析

3.5.1添加信息流程

添加信息,编号系统使用自动编号模式,没有用户填写,用户添加信息输入信息,系统将自动确认的信息和数据,验证的成功是有效的信息添加到数据库,信息无效,重新输入信息。添加信息流程如图3-3所示。

户想进入系统,首先进入系统登录界面,通过正确的用户名、密码,选择登录类型登录,系统会检查登录信息,信息正确,然后输入相应的功能界面,提示信息错误,登录失败。系统操作流程如图3-4所示。

模块包括主界面,首页、评教信息、评价打分、指标管理等进行相应的操作。

登录系统结构图,如图4-2所示:

图4-5管理员实体属性图

(4) 学生注册实体属性如下图4-5所示

图4-5学生注册实体属性图

第五章 系统实现

5.1学生功能模块

学生进入到系统界面,可以对首页、评教信息、评价打分等功能模块操作,如图5-1所示。

图5-1学生功能界面图

评教信息:通过列表可以获取学期、所在院系、任课教师、课程名称、课程编号等进行详情、修改等操作,如图5-2所示。

图5-2评教信息界面图

评价打分:评价打分列表页面可查看学生、姓名、专业、学期、所在院系、课程编号、课程名称、任课教师、学生评价、学生打分等信息如图5-3所示。

图5-3评价打分界面图

5.2管理员功能模块

管理员通过用户名和密码、角色填写完成后进行登录,如图5-5所示。管理员登录成功后进入到系统操作界面,可以对首页、用户管理(管理员、教师用户、学生用户)更多管理(评教信息、评价打分、指标管理、课程管理、教师评分统计)等功能模块进行相对应操作。

管理员功能页面:通过首页输入账号、密码等操作登录系统,如图5-6所示。

图5-4管理员登录页面

图5-5管理员功能页面

评教信息:通过列表可以获取学期、所在院系、任课教师、课程名称、课程编号等信息,进行删除或修改操作,如图5-7所示。

图5-6评教信息管理界面图

用户管理:通过列表可以获取昵称、用户名、学生姓名、学生性别、学生学号、学校名称、专业名称等信息,进行修改或删除操作,如图5-8所示。

图5-7用户管理界面图

指标管理;该页面可以查看教师、所在院系、课程编号、课程名称、学生人数、学生及格率等进行修改操作,以及图片的删除操作,如图5-9所示。

图5-8指标管理管理界面图

5.3老师功能模块

老师进入到系统界面,可以对首页、学生用户、指标管理、课程管理等功能模块操作,如图5-10所示。

图5-9老师功能界面图

课程管理:通过课程管理可以查看所在院系、课程编号、课程名称、课程时间、课程附件、备注、课程介绍等操作,如图5-11所示。

图5-10课程管理界面图

第六章 系统测试

6.1测试定义及目的

关于系统实现的测试,英文名称是System TEST,简称ST,ST是使用完整其系统的各种功能多次、多案例、多环境测试,这是ST的简单描述。ST可以证明该功能对系统的要求是否得到满足以及是否有效。

对于系统开发的实现,不管开发过程多么努力,在系统运行的时候多少都会出现一些错误信息,所以为了系统的安全性及提高系统的使用率及给用户带来更好的体验,系统在完成之前,一定要进行一遍系统的测试,再完美的程序也会有漏洞,再细心的技术开发员也会有疏忽的时候,所以对于程序的测试是必须要做的一步。通过系统测试找到系统存在的问题,并根据问题的原因进行在线解决问题,如果找不到解决问题的办法可以进行通过咨询指导老师或者通过同学帮忙,一定将问题找出,否则将会出现更多的错误。所以程序出现错误时不可避免,系统测试虽然耗时费力,但是为了确保后期系统的长期使用,必须要进行系统测试,问题解决完成后还要再一步测试,直到没有任何问题后方可进行使用。

6.2性能测试

任何一款程序开发成功后都必须通过软件测试,它是保障软件稳定运行的前提。测试最主要的一步就是性能测试,性能测试内容如下:

(1)对于测试的速度有一定的要求,速度必须快,而且对于测试出来的错误问题一定以最快的速度进行处理解决,并且进行再次测试,保证整个系统运行的安全性。

(2)在系统测试的时候要将测试所用到的测试计划和测试报告保管好,方便后期系统的运行使用后的整体维护操作。

(3)软件测试整个过程中的聚类现象应优先考虑。

(4)对于整体系统测试,不要用自己的思想去认可整个系统,而是从公正的角度的进行对系统进行认可,是否符系统的整合应用。

6.3测试模块

测试系统是最新的Windows 10系统,通过对系统实现的功能模块进行每个功能模块的操作测试,查看每个用户的功能模块所对应的权限信息是否可以操作并且数据信息更新一致。

|--------|----------|--------|----|
| 测试需求 | 测试重点 | 是否达成需求 | 结果 |
| 用户登录 | 输入账号密码 | 需求达成 | 通过 |
| 登录失败 | 输入错误账号密码 | 需求达成 | 通过 |
| 修改信息 | 修改成功 | 需求达成 | 通过 |
| 添加信息管理 | 增删查改 | 需求达成 | 通过 |
| 回复管理 | 增删查改 | 需求达成 | 通过 |
| 搜索查询管理 | 增删查改 | 需求达成 | 通过 |

系统测试方面,我们通常运用的是白盒测试以及黑盒测试这两种方法。白盒测试是指在了解系统内部工作流程的前提下,可以根据需求规范验证系统内部操作是否能够正常运行的测试;而黑盒测试指的是,倘若知道了这个系统的全部功能,可以进行测试检测系统中的每一个功能是否满足正常使用。

为了方便用户使用"高校学生评教系统",以及尽可能少的减少系统测试错误的发生,我们对该系统进行了相对应的测试。

对该系统的全部的功能界面进行测试,简单来说,就是我们输入一些数据并且对其进行提交,之后我们查看每个页面的反馈,检测页面的相关功能可不可以完全实现。

6.4测试结果

测试评估的结果是高校学生评教系统满足要求中的所有功能,处理大多数错误条件,修复大多数错误并通过测试。高校学生评教系统的基本功能都是可行的,不管是系统里面的功能还是界面的设计都是可值得推广宣传的。

总 结

高校学生评教系统的整体功能模块的实现,主要是对自己在大学这几年时间所学内容的一个测试,对于系统,主要是通过现在智能化的高校学生评教系统进行开始系统的实现,并且可以根据需求进行数据信息的增加修改删除等操作,完美的解决了当下高校学生评教系统中所遇到的问题。

经过一个学期的毕业设计的实现完成已接近尾声,到目前为止,当我回想起整个学期的系统开发日,收获颇丰。毕业设计的主要任务是建立一个智能化的高校学生评教系统的信息系统,主要使用springboot框架和Mysql数据库的开发工具,对系统的每个功能模块进行相对应的操作,最后,系统调试结果表明系统基本可以满足功能要求。

高校学生评教系统的开发对我大学学习的改进有很大帮助。它使我能够学习计算机知识的相关技术方面问题及与人交往的沟通交流方面,让我意识到无论我们做什么,我们都需要坚持不懈,努力工作,只有这样尝试了并且坚持去做了,我们才可以成功,才可以获得成功的喜悦,如果没有尝试,只是想,那连成功的机会都没有,实际操作进行做了,才会越来越近的靠近成功,随着道路一路向前,未来的路是美好的。

对于高校学生评教系统的实现,是自己第一次完成的设计一个管理系统。在项目的设计过程中,我克服了各种困难,并且在面对这些困难,我积极的面对,想办法解决问题,并且更好的掌握了理论知识和动手操作实践能力,从系统的开发到设计完成,我完成了一个更全面、更完善、更安全的平台管理系统,这也让我取得了很大的成就感,也使我对未来的生活更有信心。

致 谢

大学生活在这个时候即将划上一个句号,但是对于我的人生道路来说,这仅仅是一个逗号,我将面对的是又一次征程的开始。

回忆过去,许许多多的事情浮现在脑海:刚上大学时欢乐心情和兴奋的场景还历历在目。一切都是那么新鲜,那么富有吸引力。有快乐也有艰辛,有收获也有失落。衷心感谢信息学院所有支持帮助过我的老师,谢谢你们多年来的关心和爱护。同窗的友情同样难忘,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆。

最后,我要特别感谢指导高校学生评教系统论文设计的老师。本论文是在他的悉心指导和热情帮助下完成的,老师认真负责的工作态度,严谨的治学精神和精深的理论水平都使我受益匪浅。老师无论在理论上还是在实践中,都给予我很大的帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处。值此论文完成之际,特别向老师表示衷心的感谢和崇高的敬意,谢谢他细心而又耐心地辅导,使得我得以顺利的完成毕业设计开发工作,同时也要感谢其他帮助过我的老师和同学,他们在我成长过程中给予了我很大的帮助,在此一并表示感谢。

由于本人水平有限,加上时间紧促,本文一定有不少缺点和不足,恳请各位老师给予帮助和指正。

参考文献

1\]徐佩.新时期计算机软件开发技术的应用及发展趋势\[J\].农家参谋,2019(08):167. \[2\]张帅,崔婀娜,魏立波.互联网+健康在线服务平台的设计与实现\[J\].科技创新与应用,2019(10):91-92. \[3\]谷利国,陈存田,张甲瑞.基于B/S模式的人事教育信息管理系统的分析与设计\[J\].电脑知识与技术,2019,15(10):58-59. \[4\]胥新政,强毅.基于JSP的常用金属材料标准检索平台开发设计\[J\].制造业自动化,2019,41(03):41-43+69. \[5\]王祖维,南淮耀,张英."互联网+"视域下的高校学生公寓管理系统设计与实现------以沈阳师范大学为例\[J\].现代商贸工业,2019,40(08):187-188. \[6\]廖明华,齐攀.学生职业能力测评管理系统的设计与实现\[J\].广东交通职业技术学院学报,2019,18(01):48-52. \[7\]李冬冬,刘华明,毕学慧,王秀友.旧衣申领系统的设计与实现\[J\].电脑知识与技术,2019,15(08):47-50. \[8\]李庆年."互联网+"视域下的人才招聘管理系统设计与实现\[J\].国际公关,2019(03):164-165. \[9\]刘婷,彭焕峰,邵淑婷.基于云平台的高校监考管理系统\[J\].电脑知识与技术,2019,15(07):91-92. \[10\]赵丙秀.基于百度AI平台的Web人脸注册和登录系统的实现\[J\].电脑知识与技术,2019,15(07):114-115. \[11\]戴昭颖,尹涛.钢铁行业成本预算系统开发应用实践\[J\].电子技术与软件工程,2019(04):29-30. \[12\]曹灿,刘志刚.基于SSH和Layui的工程科学前沿与实践系统\[J\].工业控制计算机,2019,32(02):91-92+96. \[13\]谢路.基于Web的考务管理系统设计与实现\[J\].福建电脑,2019,35(01):136-137. \[14\]张继东.MySQL数据库基于JSP的访问技术\[J/OL\].电子技术与软件工程,2017,(15):169(2017-08-03). \[15\]韩思凡.Web开发中的JSP与HTML的基础应用\[J\].科学技术创新,2020(14):71-72. \[16\]NastitiAndini,DaehaKim,JongAhnChun.Operationalsoilmoisturemodelingusingamulti-stageapproachbasedonthegeneralizedcomplementaryprinciple\[J\].AgriculturalWaterManagement,2020,231. \[17\]A.D.Titisari,D.Phillips,I.W.Warmada,Hartono,A.Idrus.40Ar/39ArgeochronologyofthePongkorlowsulfidationepithermalgoldmineralisation,WestJava,Indonesia\[J\].OreGeologyReviews,2020,119. \[18\]FranciscoOrtin,OscarRodriguez-Prieto,NicolasPascual,MiguelGarcia.HeterogeneoustreestructureclassificationtolabelJavaprogrammersaccordingtotheirexpertiselevel\[J\].FutureGenerationComputerSystems,2020,105. \[19\]SatyaKrismatama,IndahRiyantini,IwangGumilar,LantunParadhitaDewanti.SelectivityofFishingGearforScomberomorusguttatus(Bloch\&Schneider,1801)CommoditiesinPangandaranFishingGround,WestJava\[J\].AsianJournalofFisheriesandAquaticResearch,2020. \[20\]ZhongXiangfu,PlaAlbert,RaynerSimon.Jasmine:aJavapipelineforisomiRcharacterizationinmiRNA-Seqdata\[J\].Bioinformatics,2020,36(6). ## 核心代码展示 ```java /** * 登录相关 */ @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().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){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper().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().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 params,UserEntity user){ EntityWrapper ew = new EntityWrapper(); 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 ew = new EntityWrapper(); 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){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); userService.updateById(user);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } } ``` ## 项目推荐 [【计算机毕业设计】各项技术选题汇总](https://zhuoyi.blog.csdn.net/article/details/135616199 "【计算机毕业设计】各项技术选题汇总") [【计算机毕业设计】基于Springboot的网上购物商城销售系统](https://zhuoyi.blog.csdn.net/article/details/135613184 "【计算机毕业设计】基于Springboot的网上购物商城销售系统") [【计算机毕业设计】开题报告模板2](https://zhuoyi.blog.csdn.net/article/details/135527631 "【计算机毕业设计】开题报告模板2") [【计算机毕业设计】任务书案例2](https://zhuoyi.blog.csdn.net/article/details/135603808 "【计算机毕业设计】任务书案例2") [【网站项目】基于springboot的在线考试系统](https://zhuoyi.blog.csdn.net/article/details/135576020 "【网站项目】基于springboot的在线考试系统") [【网站项目】基于springboot的4S店车辆管理系统](https://zhuoyi.blog.csdn.net/article/details/135576191 "【网站项目】基于springboot的4S店车辆管理系统") [【软件设计】基于python的高校资产管理系统](https://zhuoyi.blog.csdn.net/article/details/128754576 "【软件设计】基于python的高校资产管理系统") [【网站项目】python009基于推荐算法的电影推荐系统](https://zhuoyi.blog.csdn.net/article/details/129479913 "【网站项目】python009基于推荐算法的电影推荐系统") [【网站项目】基于Springcloud的分布式架构网上商城](https://zhuoyi.blog.csdn.net/article/details/135723622 "【网站项目】基于Springcloud的分布式架构网上商城") > ⬇️**文章末尾可以获取联系方式,需要源码,高清图片,演示视频可以联系(不开源)**⬇️ > > ⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

相关推荐
ruan1145142 小时前
关于HashMap--个人学习记录
java·jvm·servlet
lvyuanj2 小时前
Java AI开发实战:Spring AI完全指南
java·人工智能·spring
lifallen2 小时前
如何保证 Kafka 的消息顺序性?
java·大数据·分布式·kafka
Geoking.2 小时前
后端Long型数据传到前端js后精度丢失的问题(前后端传输踩坑指南)
java·前端·javascript·后端
Seven972 小时前
【从0到1构建一个ClaudeAgent】规划与协调-子Agent
java
宠友信息2 小时前
社交软件源码哪个渠道好
java·微服务·架构·社交电子·springboot·uniapp
improvement...2 小时前
Maven 编译打包全指南:整体 / 逐个打包 + 核心参数详解
java·maven
_李小白2 小时前
【OSG学习笔记】Day 41: ReadFileCallback 与 WriteFileCallback(自定义文件读取)
java·笔记·学习
每天吃饭的羊2 小时前
nest,java对比
java·开发语言