师生双选系统后端设计

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:anlanyuan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:随着互联网的发展,越来越多的高校选择线上填取信息,比如毕业设计的师生双选系统。当学生选择自己的老师之后,老师通过当前被选择的学生来决定选择谁,这样就完成了师生双选。双选功能给学生和老师带来很大的方便,越来越多的高校使用这款软件,也反映着时代的不断进步和发展。
  关键词:师生双选;数据库;SpringBoot;Lombok;MybatisPlus
  1 师生双选系统设计和前端介绍
  1.1  功能介绍
  进入登录界面,有3个选项,分别为学生、老师、管理员。管理员可以新增和修改老师学生的信息,可以查看到老师的被选课情况和学生当前是否已经被选择,如果学生已经被选择,那么可以查看当前学生的成绩。进入学生界面可以看见当前老师可选择的剩余数量(见图1),比如选择了两位老师之后,再进入两位老师的界面(见图2),如果其中一位老师选择该学生,那么另外的老师不能选择该学生,这样就可以实现师生双选的功能。
  师生双选系统对密码采用了md5加密处理,保证了数据不会被盗取。整个系统使用了拦截器,当请求出现错误的时候会把错误信息反馈到前端页面[1-3]。
  1.2  前端设计
  相比于传统的html,css,js,师生双选系统采用了vue框架,请求方式为ES6的axios请求,UI为Element-ui。相比于传统的前端设计语言,vue的优势在于方便,性能更好,使用组件能够极大地提高开发效率。vue主要的功能有axios、router、element-ui、拦截器、信息校验,通过这些功能模块的使用,保证了开发效率的快速提高。
  2 后端设计与实现
  2.1  数据库设计
  数据库选择的版本为5.7版本。该系统主要的数据库有学生、老师、学生-老师、分别表示学生个人信息、老师个人信息、学生和老师的双选信息。在学生-老师这个表中,设立choose值,表示当choose等于null的时候,该学生没有被老师选择,当choose等于1的时候,表示该学生已经被其中老师选择,并且删除该学生choose值为null的所有信息。
  2.2  Lombok设计
  在本项目中,采用Lombok提高代码的使用,让POJO代码更加简洁,不仅在BO对象,在设计模式中也有大量使用。通过使用maven项目将Lombok的相关依赖放入到pom.xml中。相对于传统的Spring代码,对每个JavaBean设立Getter,Setter,HashCode等模板代码,但通过lombok的注解@Data,@Builder就可以代替这些代码。打印日志时使用@Slf4j,这些极大地提高了代码开发效率,但缺点是代码可读性和可调式性较低,而且当JDK版本进行升级时,Lombok某些特性就会受到影响。
  2.3  MybatisPlus设计
  2.3.1 MybatisPlus的介绍
  MybatisPlus是Mybatis的增加版本,对Mybatis只增加,不修改,无侵入,损耗小的特性让MybatisPlus更好地使用在项目当中。通过内置的Mapper和通用的Service可以让少量的代码实现大部分的CRUD操作,满足大多数接口的数据请求。另外还包括主键自动生成,支持ActiveRecord模式,内置的分页插件、代码生成器、性能分析插件、分页插件,支持多种数据库语言,包括MYSQL,Oracle等。
  2.3.2 MybatisPlus的安装和配置
  通过MybatisPlus的官网地址,將主要相关依赖下载到pom.xml当中,将注意MYSQL的版本号,将数据库的配置信息放入到配置文件application.properties,或者建立yaml文件,也可以将数据库的信息放入其中。
  2.3.3 SpringBoot和MybatisPlus实现双选系统部分功能
  先编写JsonData类,里面包含返回成功的方法和失败的方法,作用就是将从后端返回的数据打包放到JsonData中返回到前端,这样前端就可以通过接口返回的内容进行判断。
  比如在学生选择老师的过程中,首先编写DO类,使用@Data将学生和老师的成员变量进行包装,实现过程如下:controller层→service层→DO层→Mapper层,其中Mapper层要继承BaseMapper,通过BaseMapper可以通过内置方法来对数据库进行操作,减少了代码量,实现CRUD功能。
  2.3.4 MybatisPlus分页插件的使用
  分页在前端页面中使用次数很多,在项目文件中建立config文件夹,在文件夹中创建MybatisPlusInterceptor的插件对象,就是通过拦截器将MYSQL的数据进行相同批次的拦截。在单元测试当中对分页进行测试,建立QueryWrapper<>()对象,将参数信息包装起来,再通过Page<>对象将数据计算出来,就可以获取当前的页数和当前页内容的大小。
  2.3.5 MybatisPlus代码生成器
  代码生成器是MybatisPlus的核心,在开发过程中使用次数很多,大大地提高了写代码的效率。相比于Mybatis的代码生成器,MybatisPlus强大了很多,它可以自动生成Controller,Service,DO,Mapper,Entity,这些文件生成的前提是连接数据库,但也要对该生成的文件进行修改,因为好多都是固定生成,有些配置不能使用,会导致后续的耦合性高,成本太大,不利于后台的维护。
  2.3.6 MybatisPlus日志打印
  日志就是记录信息。在上线的时候,通过日志打印将用户信息输出,这样当系统进行维护的时候,可以对没有用的数据进行删除,防止磁盘占满。在Mybatisplus中,使用@Slf4j可以将数据打印出来,而且在单元测试的时候,可以看到CRUD的具体操作过程。
  3 后端其他设计
  使用IDEA来编译后端代码,因为IDEA有很多的自动化代码补全功能。使用PostMan来对接口进行测试。用maven项目来打包项目,使用maven可以提高开发效率,比如当引用某个框架的时候,就可以通过导入相关依赖来使用框架,在配置maven项目时,可以将阿里云的项目地址来进行本地下载,这样在导入依赖的时候可以降低运行的时间。
  4 结语
  相比如传统的jsp和javaweb,vue+springboot让整个系统性能更加稳定,一个项目是通过策划、建模构建出来的,根据用户需要不断地完善功能,所以在开发过程中,要增加功能来维护线上,对系统整个数据进行分配。在项目开始的时候,选择一个好的框架极其重要,要实现系统高内聚低耦合,让系统更加完善。
  [参考文献]
  [1]钟茂生,王明文.软件设计模式及其使用[J].计算机应用,2002(8):34-37.
  [2]马晓虎.基于B/S结构的通用学生管理系统的开发[J].电脑知识与技术(学术交流),2006(14):22.
  [3]黄伟.API服务中间件的设计与实现[D].成都:电子科技大学,2020.
  (编辑 何 琳)
其他文献
摘 要:多核CPU的存储层次越来越深而且越来越复杂,这已经成为优化大规模并行应用程序性能的关键瓶颈。目前并行程序设计语言和多核CPU有两种局部性设计方法,一个是横向局部性,另一个是纵向局部性,通过这两种视角可以进一步了解现在并行程序设计语言中局部性机制的特点。文章就并行程序设计语言中局部性机制进行探讨,深入分析其优缺点,探究未来并行程序设计语言设计的方向,指出新语言可以考虑这两种局部性设计机制,希
摘 要:网络服务器是一种在网络环境下为用户提供某种服务的专用计算机。其能否安全、稳定地运行,直接影响着用户的使用满意度。因此,为给用户提供稳定的网络服务,需要做好网络服务器的安全维护与管理。网络服务器的安全维护与管理是一项专业性、系统性要求较高的工作,不仅需要专门的部门负责,还需要在工作中应用相关的安全维护与管理策略,可及时发现与解决网络服务器运行中出现的各种问题。文章对网络服务器基础知识做简要介
摘 要:文章简略阐述了人工智能的概念,从提升协作能力、提升处理能力和减少资源消耗几方面内容着手,分析了人工智能在计算机网络中应用的优势,并对其具体的应用原则以及实践应用展开了详细研究,旨在为相关人员提供参考。  关键词:人工智能;计算机网络技术;系统管理  0 引言  近年来,人工智能技术得到了迅速发展,并在多个领域中都得到了有效应用。为了能够切实提升计算机网络技术的应用水平,同样要加强人工智能
电力企业在自身建设中,应该关注信息化技术的应用,构建电力物联网,实现对企业各项业务数据的整合。文章分析了当前电子物联网下的企业中心平台构建,提出了中台云构建的具体方案,借助元数据管理,重视对企业业务数据的整合,搭建合适的服务体系,将电力系统的安全性与稳定性摆在重要位置,从而打造高效的管理系统,结合案例分析,保障周边区域用电安全。
摘 要:现阶段,科学技术快速发展,互联网、信息技术、计算机等在人们生活中的应用不断增多,普及率不断提升,信息安全问题业越来越突出,网络安全问题也受到越来越多的关注。文章介绍了大数据时代计算机网络应用的主要安全威胁因素,并探索了大数据时代计算机网络安全技术的有效运营策略。  关键词:大数据;计算机;网络安全技术;运用  0 引言  现阶段,互联网应用范围越来越广,各类信息化、智能软件应用普及率上升
摘 要:供电系统是保证广播电视发射台站安全播出的基础。做好供电系统运行、维护分析,对了解动力供应,应急切换有着重要意义。文章从供电系统的市电系统、不间断电源、发电系统以及应急切换等方面着手,对系统进行了相应的分析。  关键词:发射台;供电系统;运行;维护  0 引言  随着我国经济的飞速发展,我国城镇化、城市化不断加速,原本在城市边缘的广播电视发射台逐渐并入城市当中,周边的各种建筑等逐渐增多,
摘 要: 随着云平台和直播系统的迅速发展,用户体验越来越受欢迎。文章针对目前校园直播系统发展的现状,分析现有数据在服务器上传输的性能指标,结合云服务器现有模式、基础架构,对现有的校园直播系统进行升级改造,从而有效改善负载不均衡的问题,提高校园直播视频的服务性能,实现系统的高可用性和弹性扩展。  关键词:云服务器;软件MCU;校园直播系统;Web Socket  0 引言  随着互联网和云计算技
摘 要:配电网馈线故障指示器能够快速实现故障位置的精准确定,对配电网络的发展具有重要意义和价值。文章详细分析配电网馈线故障指示器检测平台的设计,根据相关规范,详细探索检测平台的设计方案,分析检测平台各个组成元件的基本功能,根据实验原理,以3种配置方案进行设計和分析,并将3种设计方案进行对比和研究,探索配电网馈线故障指示器检测平台的发展方向。仅供参考。  关键词:故障指示器;检测平台;配电网络  0
摘 要:数据加密技术能够有效保证数据信息、数据传输安全,对营造良好的计算机网络运行环境,减少计算机网络安全问题具有重要作用。文章对数据加密技术、数据加密技术的应用方法以及具体应用进行了阐述,并对数据主要的应用方法端口加密、链路加密、节点加密技术进行了分析,期望对提高数据加密技术在计算机网络安全中的应用水平有所帮助。  关键词:数据加密技术;计算机网络安全;应用探索  0 引言  计算机成为当前人
摘 要:招生管理工作对各个高校来说是一项任务繁重的任务,高校在招生时会面临大量的数据信息统计分析的难题,因此需要借助互联网对高校招生的信息进行管理。文章从业务角度以及为考试服务的角度对招生管理信息系统进行设计,并分析使用过程中出现的问题,提出解决方案。  关键词:响应式;招生管理;服务用户  0 引言  随着社会的不断发展,我国对人才的需求量日益增长,各个高校招生报名录取工作量随之增加。现阶段,各