考研资讯平台

news2025/1/11 8:19:28

@TOC

springboot0767考研资讯平台

绪论

1.1课题研究背景与意义

随着现代网络技术的快速发展,互联网的应用对学生的生活和工作有着很大的影响,特别是在当今计算机的应用下的人更加需要这样的环境,所以我们根据这个要求来开发了本课题。该课题主要是设计了一个考研资讯平台,在系统当中学生可以根据不同的信息来实现该网站的考研资讯平台信息的管理。

通过课题的实现我们来进行开发一个通过计算机来进行实现网上考研资讯平台信息系统。并通过现实结合来开发出有关设计的数据库和功能模块,同时对各个软件得到了充分的应用,更加熟练的掌握了数据库的编程方法。在没有计算机和网络技术的时代里我们对网上考研资讯平台信息管理都是用纸质和笔来进行管理的。随着现代网络技术的快速发展和计算机的不断普及,学生很快就应用这种方式来进行对网上考研资讯平台信息的各项目工作进行管理。因为随着网络发展和应用网络人数的不断扩大发展,重要的信息也不断增加,同时也要进行管理,这时候在互联网高速发展和计算机影响学生生活中网络得到了广泛应用,学生不得不跟从社会的发展和时代的前进。虽然有了互联网的发展和计算机的应用,但是还是少不了学生的手工操作。对于这个考研资讯平台来说它就是针对上述的问题而设计的。这个系统可以有效的进行网上考研资讯平台信息管理和减少人员工作复杂度和工作量,同时提高工作人员的工作效率。

随着网络的快速发展和学生对网络的认识,在学生的生活当中很快就融入了互联网的应用,学生根据现在网络技术的快速发展和现实社会的需求管理,所以该系统应用计算机的现有资源和优势来实现了具体的管理趋势。根据该系统的具体调查和需求分析、数据流程以及分析,做出了对整个系统的总体结构设计和数据库的设计。该系统主要是采用了Java技术和mysql来建立系统的具体功能模块。使整个考研资讯平台在整个界面上是简洁实用的,包括考研资讯信息和报考指南信息浏览,添加,查询。因此,该文章主要是通过对考研资讯的设计来把网上考研资讯平台做一个详细的介绍,使整个网上考研资讯平台层次更加鲜明和清楚。在阅读完该文章以后可以更加了解到考研资讯平台的具体设计和实现过程。

1.2课题研究目的

考研资讯平台是典型的管理系统,系统开发主要是包括数据库的建立和分析以及后期上的维护操作等功能的方便应用。对于以前的网上考研资讯平台信息来说考研资讯平台的建设它是建立在一个符合学生日常考研资讯平台的流程和资料,从而保证了这个系统的完整性和安全性的功能。对于后者程序功能的要求来说它能够方便程序的功能使用和应用的特点。随着现代化网络的快速发展和计算机技术的不断提高,学生对计算机科学的发展逐渐便得更加成熟,对于现在计算机功能也逐渐了解和认可。考研资讯平台的开发环境也变得更加强大,随之学校也就开始融入了这种考研资讯平台的应用,从宏观的角度来说考研资讯平台它主要是顺应现代化的时代和潮流来做发展的,它可以提高经济效益,从微观上来看它可以加强现代化管理和提高学生的工作效率。

随着现代网络技术的快速发展和计算机知识的大量普及,在各行各业当中我们可以把这种管理模式和控制逐渐应用学校当中,所以说考研资讯平台的开发也可以成为大多数的学校管理模式,从而使学校管理模式变得更加系统化、规范化和自动化。

对于学生日常的工作来说大多数是采用一些机械重复来完成的,它使过去一些繁琐的工作效率变得简单高效,所以考研资讯平台它是根据现在学生的需求来做开发和控制的,从而提高学生日常的工作效率和学校的竞争能力。

1.3课题研究内容

考研资讯平台它主要是实现了不同学生的需求,具体包括管理员和学生。根据这几个方面的介绍我们对系统做了详细的研究,具体从该系统的开发背景、选题意义、需求分析、功能分析、数据库的建立以及相关技术的应用做了具体的设计与分析。并且对每一个功能实现做了具体的讲解。

2 系统开发环境介绍

该系统的开发主要是采用了Java技术和mysql数据库来做为系统的主要技术核心,并且对于系统的设计、数据库分析、页面制作和系统的安全做了合理安排,最后还对系统的运行、调试做了具体的工作。

2.1 java简介

Java语言是在二十世纪末由Sun公司发布的,而且公开源代码,这一优点吸引了许多世界各地优秀的编程爱好者,也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言之一,从发布初期到现今,可以说有将近20多年的历史,已发展成为人类计算机编程语言发展史上的一个深远影响。

Java语言具有非常多种的特性:(1)跨平台的无关性;(2)面向对象; (3)安全性得以保障;(4)支持多个任务;(5)多种编写方式,代码编写简单。对比其他的低级语言、高级语言,Java语言具有明显的显著优势以及未来开阔的前景,可以广泛的应用在个人笔记本电脑、大数据、大型游戏等等。

首先,Java语言具有面向对象的特性,并且易于理解。关于对象,其实可以理解成每一种事物都是一种对象,包括我们人类自身都是一种对象。利用面向对象语言的基本特征来解决软件开发中的实际问题,为有效软件开发提供了技术支持。

其次,Java 语言具有很好的跨平台无关性。所编写出来的应用程序是Java语言编写的,那么就无需再使用编译器来修改程序代码,可以直接在任何计算机系统中运行,Windows系统可以运行,在Linux系统中也可以,也就是经过一次编译,可以到处运行,所以Java语言具有卓越的可移植性,可以很好的跨平台实现。它编写简单,适应平台广,非常适合构造基于B/S结构的动态网页。

2.2 Tomcat介绍

Tomcat 虽然是Apache的扩展,但是它们都是可以独立运行的,二者是不互相干扰的。当配置正确的时候,Apache服务器为HTML页面的运行提供技术支持,Tomcat 的任务则是运行Servle和java 页面。Tomca也具有一定的HTML页面处理功能。Tomcat属于一种轻型的服务器,所以说在中小学校中并不具有普适性。但是当程序员需要开发或调试java 程序时,则通常会将该服务器作为首选。对于一个仅具有计算机基础知识的人来说,计算机系统具有一个好的Apache服务器,可以很好的对HTML 页面进行访问。Tomcat是非常受欢迎的服务器,因为它具有较好的扩展性,而且在运行的时候不需要太多的系统资源,拥有程序员所需要的收发邮件功能,还能够支持负载平衡,该程序能够不断的更新,程序员能够根据自己的需要增加新的功能。

2.3 mysql数据库介绍

MySQL数据库是世界上最流行的关系型数据库管理系统之一,它可以工作在许多平台(Unix,Linux,Windows)上,它是具有客户机/服务器体系结构的分布式数据库管理系统,而且MySQL数据库所使用的语言是数据库中最常用最标准化的语言。MySQL数据库是瑞典的MySQL AB公司开发的。mysql数据库它主要是适用于网络,并且它具开源代码软件,用其建造的数据库可在任何电脑平台上进行访问,相对于其他数据库而言,MySQL数据库具有运行速度快、可靠性高、安全保密性强等优点,大大降低了总体成本,非常适合中小型网站的开发。

Mysql数据库它的主要优点就是让学生在学习的过程当中容易、简单的去学习也方便进行操作。对于我们在使用mysql数据库的情况下将它的功能要进行代码的编写。对于mysql数据库来说我们只要编写一小段的代码就能实现功能。

2.4 Spring Boot框架

Spring Boot是Pivotal团队的一个新框架,旨在简化新Spring应用程序的初始设置和开发。该框架使用特定的配置方法,无需开发人员定义样板配置。通过这种方式,Spring Boot旨在成为蓬勃发展的快速应用程序开发领域的领导者。 Spring Boot特点: 1、创建一个单独的Spring应用程序; 2、嵌入式Tomcat,无需部署WAR文件; 3、简化Maven配置; 4、自动配置Spring; 5、提供生产就绪功能,如指标,健康检查和外部配置; 6、绝对没有代码生成和XML的配置要求; 安装步骤: 最基本的是,Spring Boot是一个可以被任何项目的构建系统使用的库集合。 为简单起见,该框架还提供了一个命令行界面,可用于运行和测试Boot应用程序。 可以从Spring存储库手动下载和安装框架的已发布版本,包括集成的CLI(命令行界面)。 更简单的方法是使用Groovy enVironment Manager(GVM),它负责处理Boot版本的安装和管理。 可以从GVM命令行GVM install springboot安装Boot及其CLI。 在OS X上安装Boot时可以使用Homebrew包管理器。要完成安装,首先使用brew tap pivotal / tap切换到pivotal存储库,然后执行brew install springboot命令。

3 系统分析

3.1 系统可行性分析

可行性的分析它是对一个项目开发是否有意义起着决定性的作用,也是对这个系统不足在某方面进行的一个改进。对于这个考研资讯平台来说,它能够为学生解决考研资讯平台问题,为学生提供方便的服务。所以这是该系统开发的主要的价值,同时它也在一定的程度上解决了对管理人员的压力和开发的价值意义。最后在总结的过程当中我们还要考虑这个系统的开发是否大于这个成本的价值,所以我们在进行可行性的分析就是对这个系统设计能否进行。

对于全篇来说,该项目主要是从以下几个方面来进行可行性分析的:

技术可行性:开发本系统主要是采用了Java技术所以我们设计该考研资讯平台是没有问题的。

经济可行性:对于系统的开发我们要考虑在开发出系统以后在社会的发展道路上带来的经济效益是否大于所付出劳动成果。

操作可行性:我们要考虑所开发出的系统它主要是方便学生的可操作性和普遍性。

3.1.1 技术可行性

技术的可行性分析它主要是针对开发该系统所用到技术进行分析,对于这个考研资讯平台来说它所建立的信息管理系统。通过当前我们所学的程序开发和语言介绍利用以上的技术开发该系统是比较合适的。而且我们在使用的数据库也是要保证这个系统的完整性、数据安全性好的条件。

3.1.2 经济可行性

就拿该项目的开发开发来说它主要是由这个系统价值来决定这个项目在以后的开发过程和利用价值,假如这个系统在开发当中花费了很多钱而且各个软件也没有实现反而需要我们投入更多的经济和成本,那么这个项目的开发它就很容易造成失败。就拿这个项目来说在最初开发的时候它就是为了节约,所以我们不需要进行启动任何资金,所用的软件也是我当初在学校期间所学的,所以它是一个双赢的过程,综上所述开发此软件在经济上是可行的。

3.1.3 操作可行性

对于这个考研资讯平台的注册登录界面来说,它是我们最常见的登录界面来进行访问进行,不需要我们对学生进行专业的访问操作。在加上系统所用的Spring Boot框架和mysql数据库这样的开发环境这样就使得系统开发更加完美,而且在整个系统的操作上也是方便、简单、易管理的特点,所以该系统是可以进行开发的。

通过上述的分析,对于这个系统的设计它是在经济、技术、操作上这些条件它都是满足的,因此,对于整个系统的开发它是具备可行性的条件。

3.2 系统性能分析

1、对于这个系统方面我们要做出一个良好的操作界面,而且该界面的设计要让工作人员和学生看上去简洁明了。

2、对该系统要有明确的应用,而且在使用过程当中要保证安全。

3、首先要对数据的修改和处理要保持明确的标记,对系统数据处理要快速,最后达到安全的管理系统。

3.3 系统功能需求分析

当我们进行任何一个新网站的开发它都是要进行一个完整的需求分析,因为我们在进行分析过程当中才能发现这个系统的质量好坏,才能决定是否开发这个系统。对于这个考研资讯平台来说它的前期分析是非常重要的,而且我们在进行开发这个系统的需求分析是让学生在使用过程更加满意,最后方便于大家使用。

需求分析对于一个系统来说它是比较重要的一个环节,因为在这里需求分析它可以考虑到系统当中出现的任何一个问题,而且它还决定这个系统能否正常运行,让学生是否能够满意,需求分析决定了整个系统的框架、功能和要求。并且将现实设计变化成对象并完成建模。

本课题要求实现一套考研资讯平台,系统主要分为前台和后台。主要包括学生前台:首页、考研资讯、报考指南、资料信息、论坛信息、我的、跳转到后台、购物车、客服,

管理员:首页、个人中心、考研资讯管理、学生管理、报考指南管理、资料信息管理、资料分类管理、论坛管理、系统管理、订单管理,

学生后台:首页、个人中心、我的收藏管理、订单管理等功能。

学生前台用例需求如图3-1所示:

图3-1学生前台需求用例图

管理员用例需求如图3-2所示:

图3-2 管理员需求用例图

3.4系统流程分析

在系统流程分析当中调查分析是比较重要的环节,因为在这个系统当中它都涉及到每个环节的业务流程,所以我们从考研资讯平台的整体设计上要保证各个信息的正确输入和输出以及对数据储存的完整,并结合实际的操作步骤来绘制出具体的流程图。具体该系统的开发流程图如下图3-3所示。

图3-3 系统流程图

4 系统设计

4.1 系统设计主要功能

经过对系统的分析阶段工作以后我们明确的了解到了系统具体实现的功能,接下来的工作它是对这些功能来做具体的功能实现的,也是这个设计的主要设计思想工作。对于这个设计总体来说它是根据最初的设计主要任务来做出具体的需求方案。最后根据所需的目标来做比较和概括的方式最后做出具体的任务,也就是说如果想要实现系统最高的效果,我们就从软件方面来做出最佳的方案。具体表现有以下几个特点:第一首先要根据最初指定的工作要求、功能和性能来做出具体的要求。第二要根据软件的可维护性和安全性来做出保障。第三就是保证这个软件的代码和系统文档配置保持一致,来做出这个设计的最佳方案。

总体的软件设计和开发阶段它是由上游阶段来完成的,该阶段在后续的开发上做了很好的铺垫。所以在整个设计上我们做出的种种决策来做了软件上的质量决策,从而做好设计的稳定性,同时也保证了软件方便维护。

对于该考研资讯平台来说它主要是由后台和前台两大部分组成。主要包括学生前台:首页、考研资讯、报考指南、资料信息、论坛信息、我的、跳转到后台、购物车、客服,管理员:首页、个人中心、考研资讯管理、学生管理、报考指南管理、资料信息管理、资料分类管理、论坛管理、系统管理、订单管理,学生后台:首页、个人中心、我的收藏管理、订单管理等功能。具体功能结构图如下图4-1所示:

图4-1 系统功能结构图

4.2 数据库设计

4.2.1 数据库E-R图

从系统这个阶段来看该阶段的任务它是由这个系统的具体任务来做出要求的,所以说我们可以通过这个阶段的设计工作以后我们可以详细的描述出这个系统在编码的过程中做出的具体程序语言设计,最后绘制出这个程序的蓝图,最后根据这个蓝图来做出详细的功能模块,最重要的是根据这个设计来完成整个程序的设计和一些关键技术的逻辑基础。以下就是对这几个设计具体实体关系图来做出设计:

图4-2 学生信息实体图

图4-3 资料信息管理实体图

图4-4 报考指南管理实体图

图4-5管理员实体图

4.2.2 数据表字段设计

数据库就是对数据进行储存,只不过它是在某方面通过计算进行的一种数据储存,而且数据库的储存它是有组织的储存在计算机内,而且在这里的数据具有独立性和共享性。对于每个数据库的应用它都是区分开的,当在某一个阶段运行时候它就会自动与客户端进行通讯。所以系统就与相应的数据进行连接。当我们选择哪一个桥段的时候它就会对数据库进行创建,这时候就会在对话框内弹出相应的数据源名称,同时输入相应的身份证和登录密码。

根据系统功能设计的要求和功能模块的划分,考研资讯平台一共涉及到多个数据表。下面就介绍一下各别主要数据库表的设计结构及其功能建立数据库表:

表4-1 allusers表

列名数据类型长度约束
idint11NOT NULL
usernamevarchar50default NULL
pwdvarchar50default NULL
cxvarchar50default NULL

表4-2:baokaozhinan表

列名数据类型长度约束
idint11NOT NULL
addtimevarchar50default NULL
biaotivarchar50default NULL
jiuyefangxiangvarchar50default NULL
tupianvarchar50default NULL
zhuanyevarchar50default NULL
xiangqingvarchar50default NULL
faburiqivarchar50default NULL

表4-3:kaoyanzixun表

列名数据类型长度约束
IDint11NOT NULL
addtimevarchar50default NULL
zixunbiaotivarchar50default NULL
leixingvarchar50default NULL
tupianvarchar50default NULL
neirongvarchar50default NULL
faburiqivarchar50default NULL

表4-4:xuesheng表

列名数据类型长度约束
idint11NOT NULL
addtimevarchar50default NULL
xuehaovarchar2default NULL
mimavarchar50default NULL
xueshengxingmingvarchar50default NULL
xingbievarchar50default NULL
touxiangvarchar255default NULL
zhuanyevarchar50default NULL
banjivarchar50default NULL
shoujivarchar50default NULL
youxiangvarchar50default NULL

表4-5:ziliaoxinxi表

列名数据类型长度约束
idint11NOT NULL
addtimevarchar50default NULL
ziliaomingchengvarchar255default NULL
fenleivarchar50default NULL
tupianvarchar50default NULL
guigevarchar50default NULL
beizhuvarchar50default NULL
xiangqingvarchar50default NULL

5 系统实现

5.1学生前台功能模块

5.1.2首页

在系统首页可以查看首页、考研资讯、报考指南、资料信息、论坛信息、我的、跳转到后台、购物车、客服等内容,如图5-1所示。

图5-1系统功能界面图

5.1.3 学生注册

在学生注册页面通过填写学号、密码、学生姓名、专业、班级、手机、邮箱等信息完成学生注册,如图5-2所示。

图5-2学生注册界面图

5.1.4登录

在登录页面可以填账号、密码等详细内容进行登录,如图5-3所示。

图5-3登录界面图

5.1.5个人中心

在个人中心信息页面可以填写学号、密码、学生姓名、性别、专业、邮箱等详细,如图5-4所示。

图5-4个人中心界面图

5.2登录设计实现

学生和管理员输入个人的账号和密码登录系统,这时候我们所对于这个系统的数据库来进行一些相关信息的查找,假如我们对输入的账号和密码不正确的时候,数据库就会自动提示出错误的信息,同时提示用户要从新输入正确的信息。网站登录效果图如图5-5、5-6所示:

图5-5 管理员登录效果图

图5-6 学生登录效果图

5.3 后台系统实现

5.3.1管理员模块

管理员主要管理:首页、个人中心、考研资讯管理、学生管理、报考指南管理、资料信息管理、资料分类管理、论坛管理、系统管理、订单管理等内容。具体管理员管理效果如下图5-7所示。

图5-7 管理员功能效果图

5.3.2考研资讯管理

管理员登录系统后台以后可以对考研资讯管理进行修改、删除以及对考研资讯管理进行查看等操作,具体的运行效果图如下图5-8所示。

图5-8考研资讯管理效果图

5.3.3学生管理

管理员进入后台对学生管理信息进行查看、修改、删除等操作,学生管理功能效果图如图5-9所示。

图5-9 学生管理效果图

5.3.4报考指南管理

管理员可以对报考指南管理信息进行修改、查看、删除等操作。报考指南管理效果图如下图5-10所示:

图5-10报考指南管理效果图

5.3.5资料信息管理

管理员可以对资料信息管理信息进行删除、修改、添加等具体的操作。资料信息管理效果图如下图5-11所示:

图5-11资料信息管理效果图

5.3.6资料分类管理

管理员可以对资料分类管理信息进行添加、查看、删除、修改等操作。资料分类管理效果图如5-12所示。

图5-12资料分类管理效果图

5.3.7论坛管理

管理员可以对论坛管理信息进行添加、查看、删除、修改等操作。论坛管理效果图如5-13所示。

图5-13论坛管理效果图

5.3.8系统管理

管理员可以对系统管理信息进行添加、查看、删除、修改等操作。系统管理效果图如5-14所示。

图5-14系统管理效果图

5.3.9订单管理

管理员可以对订单管理进行添加、查看、删除、修改等操作。订单管理效果图如5-15所示。

图5-15订单管理效果图

5.4 学生后台功能模块

5.4.1订单管理

学生进入系统可以查看首页、个人中心、我的收藏管理、订单管理等操作。学生可以对订单管理信息进行添加、查看等操作。订单管理效果图如5-16所示。

图5-16订单管理效果图

5.4.2我的收藏管理

学生进入系统后可以对我的收藏管理进行查看、删除等操作。我的收藏管理效果如下图5-17所示:

图5-17我的收藏管理效果图

5.4.3个人信息

学生进入系统后可以对个人信息进行查看、删除等操作。个人信息效果如下图5-18所示:

图5-18个人信息效果图

系统

ZiliaofenleiServiceImpl.java
package com.service.impl;

import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;


import com.dao.ZiliaofenleiDao;
import com.entity.ZiliaofenleiEntity;
import com.service.ZiliaofenleiService;
import com.entity.vo.ZiliaofenleiVO;
import com.entity.view.ZiliaofenleiView;

@Service("ziliaofenleiService")
public class ZiliaofenleiServiceImpl extends ServiceImpl<ZiliaofenleiDao, ZiliaofenleiEntity> implements ZiliaofenleiService {
	
	
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        Page<ZiliaofenleiEntity> page = this.selectPage(
                new Query<ZiliaofenleiEntity>(params).getPage(),
                new EntityWrapper<ZiliaofenleiEntity>()
        );
        return new PageUtils(page);
    }
    
    @Override
	public PageUtils queryPage(Map<String, Object> params, Wrapper<ZiliaofenleiEntity> wrapper) {
		  Page<ZiliaofenleiView> page =new Query<ZiliaofenleiView>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
 	}
    
    @Override
	public List<ZiliaofenleiVO> selectListVO(Wrapper<ZiliaofenleiEntity> wrapper) {
 		return baseMapper.selectListVO(wrapper);
	}
	
	@Override
	public ZiliaofenleiVO selectVO(Wrapper<ZiliaofenleiEntity> wrapper) {
 		return baseMapper.selectVO(wrapper);
	}
	
	@Override
	public List<ZiliaofenleiView> selectListView(Wrapper<ZiliaofenleiEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

	@Override
	public ZiliaofenleiView selectView(Wrapper<ZiliaofenleiEntity> wrapper) {
		return baseMapper.selectView(wrapper);
	}

}

XueshengServiceImpl.java
package com.service.impl;

import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;


import com.dao.XueshengDao;
import com.entity.XueshengEntity;
import com.service.XueshengService;
import com.entity.vo.XueshengVO;
import com.entity.view.XueshengView;

@Service("xueshengService")
public class XueshengServiceImpl extends ServiceImpl<XueshengDao, XueshengEntity> implements XueshengService {
	
	
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        Page<XueshengEntity> page = this.selectPage(
                new Query<XueshengEntity>(params).getPage(),
                new EntityWrapper<XueshengEntity>()
        );
        return new PageUtils(page);
    }
    
    @Override
	public PageUtils queryPage(Map<String, Object> params, Wrapper<XueshengEntity> wrapper) {
		  Page<XueshengView> page =new Query<XueshengView>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
 	}
    
    @Override
	public List<XueshengVO> selectListVO(Wrapper<XueshengEntity> wrapper) {
 		return baseMapper.selectListVO(wrapper);
	}
	
	@Override
	public XueshengVO selectVO(Wrapper<XueshengEntity> wrapper) {
 		return baseMapper.selectVO(wrapper);
	}
	
	@Override
	public List<XueshengView> selectListView(Wrapper<XueshengEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

	@Override
	public XueshengView selectView(Wrapper<XueshengEntity> wrapper) {
		return baseMapper.selectView(wrapper);
	}

}

TokenServiceImpl.java

package com.service.impl;


import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.dao.TokenDao;
import com.entity.TokenEntity;
import com.entity.TokenEntity;
import com.service.TokenService;
import com.utils.CommonUtil;
import com.utils.PageUtils;
import com.utils.Query;


/**
 * token
 * @author yangliyuan
 * @date 2019年10月10日 上午9:17:59
 */
@Service("tokenService")
public class TokenServiceImpl extends ServiceImpl<TokenDao, TokenEntity> implements TokenService {

	@Override
	public PageUtils queryPage(Map<String, Object> params) {
		Page<TokenEntity> page = this.selectPage(
                new Query<TokenEntity>(params).getPage(),
                new EntityWrapper<TokenEntity>()
        );
        return new PageUtils(page);
	}

	@Override
	public List<TokenEntity> selectListView(Wrapper<TokenEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

	@Override
	public PageUtils queryPage(Map<String, Object> params,
			Wrapper<TokenEntity> wrapper) {
		 Page<TokenEntity> page =new Query<TokenEntity>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
	}

	@Override
	public String generateToken(Long userid,String username, String tableName, String role) {
		TokenEntity tokenEntity = this.selectOne(new EntityWrapper<TokenEntity>().eq("userid", userid).eq("role", role));
		String token = CommonUtil.getRandomString(32);
		Calendar cal = Calendar.getInstance();   
    	cal.setTime(new Date());   
    	cal.add(Calendar.HOUR_OF_DAY, 1);
		if(tokenEntity!=null) {
			tokenEntity.setToken(token);
			tokenEntity.setExpiratedtime(cal.getTime());
			this.updateById(tokenEntity);
		} else {
			this.insert(new TokenEntity(userid,username, tableName, role, token, cal.getTime()));
		}
		return token;
	}

	@Override
	public TokenEntity getTokenEntity(String token) {
		TokenEntity tokenEntity = this.selectOne(new EntityWrapper<TokenEntity>().eq("token", token));
		if(tokenEntity == null || tokenEntity.getExpiratedtime().getTime()<new Date().getTime()) {
			return null;
		}
		return tokenEntity;
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2065113.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

集团数字化转型方案(十)

集团数字化转型方案将通过全面部署云计算、大数据分析、人工智能和物联网技术&#xff0c;构建一个全方位的数据驱动平台&#xff0c;实现从战略规划到运营管理的数字化升级&#xff0c;以优化业务流程、提高决策效率、增强客户体验和提升运营灵活性。该方案包括智能化的供应链…

Docker!!!

⼀、Docker 1、Docker介绍.pdf 1、Docker 是什么&#xff1f; Docker 是⼀个开源的应⽤容器引擎&#xff0c;可以实现虚拟化&#xff0c;完全采⽤“沙盒”机制&#xff0c;容器之间不会存在任何接⼝。Docker 通过 Linux Container&#xff08;容器&#xff09;技术将任意类型…

5步掌握Python Django+Vue二手房项目,实现房价预测与知识图谱系统

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

破晓科技与神话:三防平板与《黑神话:悟空》的创新交响

当全球游戏圈因《黑神话&#xff1a;悟空》的震撼预告而沸腾&#xff0c;一款代表中国游戏顶尖制作水平的作品&#xff0c;正以它独特的文化魅力与技术创新&#xff0c;向世界宣告着中国游戏产业的崛起。 点击添加图片描述&#xff08;最多60个字&#xff09;编辑 震撼视觉体验…

解题—求两数的最大公约数与最小公倍数 #辗转相除法

文章目录 前言 一、最大公约数 方法一&#xff1a;硬解 方法二&#xff1a;辗转相除法 1、图形理解&#xff1a; 2、公式理解&#xff1a; 二、最小公倍数 方法一&#xff1a;硬解 方法二&#xff1a;巧解 总结 前言 路漫漫其修远兮&#xff0c;吾将上下而求索。 一、…

spring security 入门基础,表单认证web页面跳转

一、导入所需依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.2</version></parent><!-- web 支持 --><dependency><groupId>…

机械学习—零基础学习日志(如何理解概率论5)

这里我们学习随机变量的独立性 我们这里也来一个习题。 《概率论与数理统计期末不挂科|考研零基础入门4小时完整版&#xff08;王志超&#xff09;》学习笔记 王志超老师 &#xff08;UP主&#xff09;

旧物上门回收系统架构分析

随着环保意识的增强和资源循环利用的重视&#xff0c;旧物上门回收系统逐渐成为现代城市生活的一部分。这些系统通过先进的技术架构&#xff0c;实现了废品的高效回收与再利用&#xff0c;为环境保护和可持续发展做出了积极贡献。本文将从系统架构的角度&#xff0c;对旧物上门…

Linux--网络层 IP协议

目录 0.往期文章 1.IP基本概念 2. IP协议报头格式 3.网段划分 两种网段划分的方式 为什么要进行网段划分 4.特殊的IP 地址 5.IP 地址的数量限制 6.私有 IP 地址和公网 IP 地址*** NAT技术 认识公网 运营商扮演的角色 7.路由 8.16位标识&#xff0c;3为标志和13位…

leetcode:2733. 既不是最小值也不是最大值(python3解法)

难度&#xff1a;简单 给你一个整数数组 nums &#xff0c;数组由 不同正整数 组成&#xff0c;请你找出并返回数组中 任一 既不是 最小值 也不是 最大值 的数字&#xff0c;如果不存在这样的数字&#xff0c;返回 -1 。 返回所选整数。 示例 1&#xff1a; 输入&#xff1a;nu…

vue3【组件封装】日历 (默认标注今日,可选择日期,可标注日期,可切换月份,样式仿 Win11)

效果预览 技术要点 获取每个月最后一天 下个月的第0天,自动会被解析为本月的最后一天 let lastDay = computed(() => new Date(year.value, month.value, 0).getDate());flex 布局末行左对齐 最靠谱的方式是想办法将末行缺失元素填满 本范例中,因星期固定7列,按每月最…

Centos7.6-DNS服务安装与配置

1、安装bind 软件包 首先&#xff0c;需要安装 bind 软件包&#xff0c;这可以通过运行以下命令来完成&#xff1a; [rootlocalhost ~]# yum install bind 已加载插件&#xff1a;fastestmirror, langpacks Loading mirror speeds from cached hostfile* base: mirrors.aliyun…

string转nlohmann::json问题

如果用字符串赋值构造函数&#xff0c;出现如下问题&#xff1a; std::string message; ​​nlohmann::json info(message); 如果按照如下代码则是正常的&#xff1a; std::string message; ​​nlohmann::json info nlohmann::json::parse(message);

Vue项目创建和使用

快速上手 | Vue.js (vuejs.org) nodejs.org/ vue项目实质上是index.html页面和多个js文件的集合&#xff0c;最终解析后的html和js代码可以由浏览器解析运行&#xff1a; vue项目的创建&#xff0c;需要脚手架工具来搭建&#xff1b; 在编译的源码阶段&#xff0c;文件格式为.…

FPGA开发——verilog的运算符以及相关优先级的介绍

一、简介 在我们学习任何一门编程语言时&#xff0c;不可避免的都会遇见运算符和相关的运算优先级的问题&#xff0c;只有掌握了各个运算符的优先级关系我们才能进行更好的代码编写。在前面的时候因为我没有遇到因为优先级而导致的工程结果错误&#xff0c;所以没有过多注意&am…

振兴杯全国青年职业技能大赛职业技能标准——物联网安装调试员

一、大赛概述 1.1 振兴杯全国青年职业技能大赛简介 振兴杯全国青年职业技能大赛是一项国家级的职业技能竞赛&#xff0c;自2005年首届大赛成功举办以来&#xff0c;已逐渐成为国内规模最大、影响力最广的青年职业技能竞赛之一。这项竞赛旨在推动青年技能人才的培养和发展&…

软件测试面试题与经验分享【附文档】

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 测试技术面试题 1、什么是兼容性测试&#xff1f;兼容性测试侧重哪些方面&#xff1f; 参考答案&#xff1a; 兼容测试主要是检查软件在不同的硬件平台、软…

黄金市场波动加剧美联储降息预期与数据修正共舞

美联储鸽派信号提振金价 周四亚市盘中&#xff0c;现货黄金价格突然加速回落&#xff0c;逼近2500美元/盎司关键支撑位&#xff0c;日内重挫逾10美元。尽管如此&#xff0c;美联储周三发布的鸽派会议纪要显示&#xff0c;政策制定者普遍倾向于9月降息&#xff0c;为金价提供了…

linux系统,ubuntu安装英伟达NVIDIA4090显卡驱动

文章目录 前言下载英伟达NVIDIA官方驱动安装NVIDIA驱动远程安装关闭交互界面设置权限&#xff08;自己确认版本号5&#xff09;安装&#xff08;自己确认版本号5&#xff09;打开交互界面&#xff0c;并重启系统验证是否安装成功 异常处理问题1问题2问题3&#xff08;可能没解决…

docker手动部署django项目Dockerfile编排-后端发布

1、首先创建一个桥接网络 docker network create auto 2、部署redis,提供celery的消息队列服务 docker run --name redis --restartalways -d --network auto -v redis:/data redis:alpine3、部署数据库 注意数据库账号密码 docker run --name mariadb --restartalways -d…