(赠源码)java+ssm+mysql宝妈兼职管理信息系统的分析与设计38198-计算机毕业设计项目选题推荐(原创定制)

  要

随着家庭结构多样化和妇女地位的提升,社会性别角色的转变和家庭结构的不断演变,越来越多的宝妈们希望通过兼职工作获得经济独立性和个人发展空间。因此,有必要建立一个针对宝妈的兼职平台,更好地满足她们的工作经济和兼顾家庭需求。

本研究计划开发设计出一个宝妈兼职管理系统。将从宝妈兼职的需求和现状出发进行分析,为宝妈和企业提供一个安全、可靠且高效的求职、招聘、交流平台,从而实现宝妈的工作求职和企业的人才招聘。

本系统经过功能测试,实现并运行了包括但不限于用户登录和注册,及搜索查看招聘公告、招聘资讯、招聘信息,及时了解招聘市场情况,获取企业招聘信息,实现在线投递简历,向企业留言,了解招聘详情,提供求职机会,增加求职成功的机率,并以真实数据一一进行相关功能项目的测试输入,最终能够保证每个项目涉及的功能都是能够正常运行,因此能够保证本次分析设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保证正确。

关键词:宝妈兼职管理信息系统 SSM框架 Java语言 MySQL数据库

Abstract

With the diversification of family structure and the improvement of women's status, the transformation of gender roles in society, and the continuous evolution of family structure, more and more mothers hope to gain economic independence and personal development space through part-time work. Therefore, it is necessary to establish a part-time platform for mothers to better meet their work economy and family needs.

This research plan is to develop and design a part-time management system for mothers. Starting from the needs and current situation of part-time jobs for mothers, we will analyze and provide a safe, reliable, and efficient platform for job seeking, recruitment, and communication for mothers and enterprises, in order to achieve job seeking for mothers and talent recruitment for enterprises.

This system has undergone functional testing and has been implemented and operated, including but not limited to user login and registration, as well as searching and viewing recruitment announcements, recruitment information, and recruitment information, timely understanding of the recruitment market situation, obtaining enterprise recruitment information, delivering resumes online, leaving messages to enterprises, understanding recruitment details, providing job opportunities, increasing the probability of successful job seeking, and testing and inputting relevant functional projects one by one with real data. Ultimately, it can ensure that each project's functions can operate normally, thus ensuring that the functions designed and implemented in this analysis can operate normally and the information in the relevant database is also guaranteed to be correct.

Key words: Baoma part-time management information system SSM framework Java language MySQL database.

  

摘  要

1 绪论

1.1 选题背景

1.1.1课题研究背景

1.1.2宝妈兼职管理信息系统发展及现状

1.1.3 研究宝妈兼职管理信息系统目的及意义

1.2 宝妈兼职简介及现状分析

1.2.1 宝妈兼职简介

1.2.2 宝妈兼职业务说明

1.2.3 宝妈兼职现存问题

1.3 宝妈兼职管理信息系统开发环境

1.3.1 SSM框架

1.3.2 MySQL数据库

1.3.3 系统开发的语言环境

2 宝妈兼职管理信息系统分析

2.1 宝妈兼职管理信息系统目标需求分析

2.2 宝妈兼职管理信息系统可行性分析

2.2.1 技术可行性分析

2.2.2 经济可行性分析

2.2.3 社会可行性分析

2.3 宝妈兼职管理信息系统的业务流程分析

2.3.1 宝妈兼职业务流程图

2.3.2 系统总体业务流程图

2.2.3 投递简历流程

2.4 宝妈兼职管理信息系统数据流程分析

2.4.1 顶层数据流程

2.4.2 底层流程图

3 宝妈兼职管理信息系统总体设计

3.1 系统的平台设计

3.2 系统的总体结构设计

3.2.1功能结构图

3.2.2主要模块说明书

3.3 数据库设计

3.3.1 E-R图

3.3.2 数据表设计

3.4 界面设计

3.4.1 招聘公告界面

3.4.2 招聘资讯界面

3.4.3 留言板界面

3.4.4 招聘信息界面

3.4.5 宝妈用户个人中心界面

3.4.6 招聘者用户个人中心界面

3.4.7 招聘信息管理界面

3.4.8 投递简历管理界面

3.4.9 工作安排管理界面

3.4.10 工作评价管理界面

3.5 系统安全设计

3.5.1网络安全

3.5.2数据安全

4 宝妈兼职管理信息系统实施

4.1 数据库的实施

4.2 程序实现

4.2.1系统类编写

4.2.2系统后台程序的实现

5结束语

5.1 系统评价

5.2 展望

5.3 开发体验与体会

参考文献:

1 绪论

1.1 选题背景

随着家庭结构多样化和妇女地位的提升,社会性别角色的转变和家庭结构的不断演变,越来越多的宝妈们希望通过兼职工作获得经济独立性和个人发展空间。因此,有必要建立一个针对宝妈的兼职平台,更好地满足她们的工作经济和兼顾家庭需求。

随着互联网和信息技术的普及,人们对于工作信息的获取和交流更加便捷和高效。通过建立一个在线兼职管理系统,可以更好地整合资源,提高信息传递的速度和准确性,为宝妈们提供更多丰富的工作选择,促进经济和社会的发展。

宝妈兼职管理信息系统是近年来逐渐走进人们视野的一个重要领域。随着女性在社会和家庭中承担的角色发生变化,越来越多的宝妈们开始寻求灵活的工作方式来平衡家庭和职业。这种需求的增加催生了宝妈兼职管理信息系统的发展。

综上所述,宝妈兼职管理信息系统主要源于社会发展趋势、家庭结构变迁和信息技术的应用,旨在为宝妈们提供更好的工作机会和服务。

1.1.1课题研究背景

当今社会存在很多在家带孩子的宝妈,她们出于这样或那样的原因无法返回职场。许多妈妈在成为母亲之后,希望能够继续保持一定程度的工作状态,既可以实现自我发展,又可以为家庭带来一定经济收入。而全职工作可能会占用太多时间和精力,难以胜任家庭的照顾,因此宝妈们更倾向于选择灵活的兼职工作,这样可以更好地平衡家庭和事业。也有些宝妈希望通过兼职工作让她们在家庭中得到认可和尊重,同时也可以拓宽她们的视野和人际关系,实现个人的自我价值。总之,无论是家庭经济带来的压力,或是宝妈们实现自我的需要,大多数宝妈迫切渴望一份相对自由且方便的兼职工作。

但与此同时宝妈们所能从事的兼职类别是有限的,可以工作的时间也具有极大的特殊性,现存的一些招聘网站是无法完全满足她们的需求的。通过本文的研究,我们将为宝妈设计一个友好、便捷、安全的在线兼职系统。为她们提供浏览和选择兼职信息的功能,筛选出适合宝妈的职位,对宝妈的碎片时间进行有效管理,同时为招聘双方提供真实可信的信息辨别服务,增加宝妈兼职的安全性和可靠性,从而使宝妈对兼职的需求得到满足。

1.1.2宝妈兼职管理信息系统发展及现状

曹源分析了大学生兼职平台的可行性, 结合目前大学生兼职平台的发展现状, 明确大学生相关权益的保障举措, 为更好地满足大学生兼职需要, 创建和谐优质的兼职平台提出了合理化建议,为宝妈兼职系统的可行性研究提供了可参考的观点。[1]

齐晶薇对兼职网络平台存在的问题及解决对策展开了相应的研究,她以爱兼职app为研究对象提出的促进爱兼职APP进一步发展的有效对策中提供差异化功能和完善信用机制的对策,对宝妈兼职管理系统的分析与设计有指导借鉴意义。[2] 

徐毅对招聘网站的用户满意度提升进行研究,提出了五个方面的满意提升策略,分别为信息内容、易用性、有用性、个性性、安全性方面的提升,宝妈兼职管理系统可以参照着进行本系统的完善与改进。[3]

张冬和田艳[4]以及章超琰[5]分别以B/S为基础设计开发了针对大学生群体的兼职管理系统, 实现管理一体化、规范化, 为大学生和招聘单位提供一个高效快捷的沟通平台。B/S模式可以简化系统的开发、维护和使用,虽然是对大学生兼职平台的设计与开发,但该系统与宝妈兼职管理系统有极大的相似之处,只需要进行区分群体的功能进行分析与设计。

李艳杰基于MySQL数据库进行数据安全应用设计,提出通过设置角色和权限实现对数据的安全访问,以解决数据库中数据安全问题的有效性。宝妈兼职系统的数据安全问题同样不可忽视,参考李艳杰的研究,可以增加宝妈兼职的安全性和可靠性。[6]

在实际应用中,显示数据量较大时,经常需要进行分页浏览,时月梅基于Spring MVC、MyBatis实现数据分页显示处理的研究,为宝妈兼职管理系统的数据分页显示的具体设计过程提供了参考,实现了分页查询处理的高效化。[7]

赵婉彤基于PHP与MySQL对动态网页的设计和应用进行了探讨,传统的静态网页不足以满足宝妈兼职系统的各种需求。因此需要使用PHP技术与数据库,实现动态网站的建设,改善网站的使用性能,更多地满足用户需求。[8]

李洋[9]和Yuxiang Hou[10]对Spring+SpringMVC+MyBatis框架在Web应用开发中的设计和实现进行了分析与研究,基于Spring MVC + Spring + Mybatis(SSM)的框架具有良好的性能和快速的开发效率,可以为作为宝妈兼职管理系统的开发提供极大的便利,我将选定SSM框架作为系统的框架。宝妈兼职管理系统应是一个有众多用户可持续性分享、保证资源有效性与创新性的资源共享平台,王江霖等[11]基于SSM框架的网络资源共享平台的研究为本系统的设计提供了参考意义。

Arif Mohd.等基于UML和NFR框架的信息系统需求分析方法,为宝妈兼职管理系统进行功能性需求和非功能性需求的分析提供了方法借鉴,有助于我们更能了解并满足用户需求,提高用户对系统的使用满意度。[12]

1.1.3 研究宝妈兼职管理信息系统目的及意义

宝妈兼职管理信息系统的分析与设计,可以提供便捷、高效、友好的图书管理和借阅服务,方便读者借阅图书并进行归还。同时,该系统提供公益活动搜索、浏览和报名服务,可以增加读者参与公益活动的积极性,提高社区的文化氛围。并且系统管理员可以通过系统便捷地管理图书信息和公益活动信息,保证系统正常运转的同时使整个系统运作效率更高。通过该系统还可以提升宝妈兼职的管理水平和服务品质,通过数据分析和智能决策,优化图书管理、活动组织等资源,为社会提供更好的服务;有助于吸引更多群总参与公益活动,推动公益事业的发展,增进用户之间文化交流和共享。此外,通过搭建宝妈兼职管理信息系统,可以深入研究Java编程语言和MySQL数据库的应用和优化,为其他类似项目提供技术参考和借鉴。因此,设计和实现这样一个功能齐全基于Java和mysql的宝妈兼职管理信息系统具有重要的实际应用价值和研究意义。

1.2 宝妈兼职简介及现状分析

1.2.1 宝妈兼职简介

很多有了孩子的妈妈在照顾家庭的同时希望通过工作来实现个人发展和经济自立。这些妈妈们通常需要更灵活的工作时间和地点,以便更好地照顾家庭。因此,宝妈们会选择参加兼职工作,以实现家庭和职业生活的平衡。

宝妈通过兼职一来可以挣点零花钱,二来可以保持和社会的联系。因此宝妈兼职的需求不断增长,然而,宝妈兼职面临一些挑战,比如简直信息的真实性和可靠性有时难以保证,宝妈们需要一个可以方便地在线查找兼职工作信息的平台,以便选择适合自己的兼职岗位。

1.2.2 宝妈兼职业务说明

现阶段有层出不穷的招聘兼职软件,但是并没有专门针对宝妈的兼职管理系统,现将宝妈兼职主要业务介绍如下:

招聘公告:主要负责系统招聘活动的通知公告信息,方便宝妈和招聘者及时了解系统公告公告。

招聘资讯:主要负责发布各类招聘新闻文章,方便宝妈和招聘者及时了解宝妈兼职市场的情况。

留言板:主要负责宝妈与招聘者之间的交流;宝妈和招聘者可以通过留言板进行沟通交流,提高用户之间的交互。

招聘信息:主要负责整合和处理各类招聘信息;招聘者可以发布自己的招聘信息,宝妈可以浏览并选择招聘信息,并进行投递简历。

投递简历:主要负责简历投递事务的收集、管理;宝妈可以查阅自己投递的简历信息,招聘者可以查看和筛选宝妈投递给自己的简历信息。

工作安排:主要负责招聘者对宝妈工作安排;招聘者应聘了宝妈后为宝妈安排工作,宝妈可以查看自己的工作安排

工作评价:主要负责宝妈工作效果的评价;招聘者对宝妈的工作情况进行评价,以便提高宝妈的工作水平和质量。

1.2.3 宝妈兼职现存问题

宝妈兼职面临的问题主要包括工作时间灵活性有限,与家庭职责的平衡可能造成困扰;工作内容相对单一和重复,缺乏挑战和成长空间;薪酬较低,可能无法满足家庭的经济需求;职业发展路径有限,难以实现职业晋升等。为了解决这些问题,宝妈们可以考虑寻找更有挑战性和发展空间的兼职机会,通过学习和培训提升自身能力,或者探索创业和自由职业的可能性。同时,与家人进行沟通和协调,寻求家庭支持和理解,可以更好地平衡工作和家。

除此之外,宝妈还要处理家庭和工作之间的优先级,宝妈们需要在家庭责任和工作任务之间取得平衡,避免因为工作而忽视了家庭,或者因为家庭事务而错过了工作机会。并且兼职工作可能需要宝妈们自主安排时间、任务和工作流程,如果缺乏自我管理能力,容易导致工作效率低下和工作质量下降。同时,在兼职工作中,宝妈们需要与雇主、同事以及客户进行有效沟通和合作,需要具备良好的社交和人际关系管理能力。宝妈还需要处理好压力和情绪,工作和家庭双重压力可能导致宝妈们情绪波动较大,需要学会有效的压力释放和情绪管理方法,以保持身心健康。此外,宝妈们需要思考未来的职业发展方向和个人目标,制定合适的职业规划和发展计划,确保在兼职工作中能够持续成长和进步。

1.3 宝妈兼职管理信息系统开发环境

本宝妈兼职管理信息系统,通过互联网和信息技术来实现数据的交互,以 Tomcat 作为 Web 服务器,前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于Java开发语言、可扩展、数据源简单的SSM框架快速进行构建和开发,通过Spring、MyBatis开源,并采用MySQL数据库作为后台数据的主要存储单元,利用Navicat工具来管理数据库,实现对系统数据的添加、修改、查看和删除。采取组件化设计,对数据库中各表的增删查改和表间约束关系进行分析与设计,最终实现商业级应用的功能。从而设计出一个界面简洁大方,布局合理,易操作易上手,高响应地对用户操作做出反馈的系统,用户可以通过联网电脑即可进行登录,通过Windows操作系统,使用系统各项功能。

1.3.1 SSM框架

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),是一个基于Java的开源框架,旨在简化和加速Java应用程序的开发过程,常作为数据源较简单的web项目的框架。它采用自动配置和约定优于配置的方式,减少了繁琐的手动配置和集成工作,使开发者能够快速构建独立、可扩展且具备生产级功能的应用程序,通过简化和优化开发流程,提高了Java应用程序开发的效率和质量,成为广大开发者喜爱的框架之一。

1.3.2 MySQL数据库

数据库作为数据的存储地方是项目必须的,MySQL是一款非常优秀的关系型数据库,早期的Mysql并不是甲骨文公司的,后来才被他收购的。Mysql非常的小巧,安装包才几兆,sql语言的书写也比较容易学习,最重要的是mysql同时也是一款开源的软件,所以不需要额外进行付费,本系统本身也是以学习总结所学知识为主,在系统的开发上最好尽量使用免费的软件,所以选用mysql进行数据库管理。Mysql的容量也是非常大的,同时支持分库分表的操作,支持分布式,所以越来越多的中小企业选择该款数据库管理工具。另外值得一提的是,开源也有一个不好的地方,就是容易遭到破解和黑客攻击,所以mysql在使用上还是更多的使用在中小项目中。

MySQL支持标准SQL语法,并提供丰富的功能和特性,如事务处理、触发器和存储过程等,以满足开发者对数据管理和操作的需求。MySQL具有良好的可扩展性,支持主从复制、分布式架构和集群部署,适用于各种规模和负载的应用场景。作为一个开源项目,MySQL拥有庞大的用户社区和活跃的开发者社区,为用户提供了丰富的文档、教程和支持资源。总之,MySQL是一款可靠、强大且灵活的关系型数据库管理系统,通过其卓越性能和可扩展性,帮助开发者高效地管理和操作数据,并得到了广大用户的认可和应用。

1.3.3 系统开发的语言环境

Java是一种跨平台的编程语言,广泛应用于大型企业系统和Web应用开发中。Java开发环境通常包括Java开发工具包(JDK)、集成开发环境(IDE)如Eclipse、IntelliJ IDEA,以及各种Java框架和库。

首先Java得开发工具包(JDK),Java开发工具包包含了用于编译、运行Java程序的工具和库。其中包括Java编译器(javac)、Java运行时环境(JRE)、Java虚拟机(JVM)等。开发人员需要安装JDK才能进行Java程序的开发工作。集成开发环境(IDE)用于编写、调试和部署Java程序的工具。常见的Java IDE包括Eclipse、IntelliJ IDEA、NetBeans等。这些IDE提供了代码编辑器、调试器、自动完成、内置构建工具等功能,大大提高了开发效率。Java生态系统中有许多优秀的框架和库,可以帮助开发人员快速构建应用程序。例如Spring框架用于构建企业级应用、Hibernate用于数据库访问、JUnit用于单元测试等。开发人员可以根据项目需求选择合适的框架和库来提高开发效率。版本控制系统(如Git)在Java开发中扮演着重要角色,它可以帮助团队协作、管理代码版本、跟踪变更历史等。开发人员通常会使用版本控制系统来管理项目代码。综合使用这些工具和环境,Java开发人员可以高效地进行软件开发工作,构建稳定可靠的宝妈兼职管理信息系统。

2 宝妈兼职管理信息系统分析

2.1 宝妈兼职管理信息系统目标需求分析

通过对宝妈兼职的需求和宝妈兼职存在问题和的分析,有必要部署与实施一个宝妈兼职管理信息系统,首先我们需要明确该系统的功能和目标,以满足宝妈兼职管理的需求。

此系统完全针对宝妈兼职表现出来的管理特征,利用互联网和信息技术,通过Java语言的SSM框架,结合MySQL数据库来分析实现。系统主要解决传统宝妈兼职信息管理存在的问题和不足。

本宝妈兼职管理信息系统根据用户需求可以划分为前台用户功能模块和后台管理功能模块,前台用户模块主要实现宝妈用户、招聘者用户的注册、登录,搜索浏览招聘信息,宝妈可以在线投递简历,查看自己的工作安排和简历;招聘者可以筛选宝妈简历,为求职成功的宝妈安排工作,对宝妈的工作情况和能力进行评价等功能。后台主要实现系统用户(管理员、宝妈用户、招聘者用户)招聘信息管理、投递简历管理、工作安排管理、工作评价管理、系统管理、留言管理、招聘公告管理、资源管理(招聘资讯、咨询分类)等功能,通过互联网和信息技术管理宝妈兼职信息,提高管理效率,为宝妈和企业提供一个安全、可靠且高效的交流平台,方便宝妈选择岗位,提高宝妈兼职成功的机会,并为企业的提供人才招聘的平台和工具。

2.2 宝妈兼职管理信息系统可行性分析

2.2.1 技术可行性分析

本系统设计所选择的开发工具和服务器都是免费的开源软件,又或者是适合学生使用的免费版本,并不需要支付费用,而且由作者本人单独完成,也不存在团队费用,几乎没有经济成本,具备经济可行性。

2.2.2 经济可行性分析

该系统主要使用Java语言、SSM框架和MySQL数据库进行开发,Java易于学习和使用灵活。在校期间也接触过SSM和MySQL数据库的课程,对此有一定的开发经验,因此开发难度不高,所以从技术上来说是可行的。

2.2.3 社会可行性分析

社会可行性主要包括法律和用户两个方面,下面将从这两方面进行分析。

(1)法律可行性

本系统是学习开发所制作的程序,并不用作商业用途,是在根据实际调研的结果结合现有的高校实验设备共享预约平台后得出的,而且系统制作的全部过程都是在个人的工作电脑中完成的,使用的都是开源和免费的开发环境、分析软件和数据库,不存在侵权问题。

(2)用户可行性

操作人员或者客户只需要具备一定的Java操作常识,不需要精通计算机技能。此外系统管理人员,只需要在再熟悉下使用Tomcat服务器的操作流程,只要掌握一定的计算机知识即可,在正式上线运营之前,仅需要对操作人员进行简单的熟悉流程培训即可。所以从用户可行性上也是可行的。

2.3 宝妈兼职管理信息系统的业务流程分析

2.3.1 宝妈兼职业务流程

经过对宝妈兼职管理业务流程进行分析,调查,研究后可以的出宝妈和招聘者进入系统后,首先注册账号,注册成功后进行登录,登录成功之后,宝妈和招聘者可以查看招聘信息(招聘者可发布),宝妈可在招聘信息进行投递简历,并且宝妈和招聘者可在留言板进行沟通交流,招聘者为宝妈安排工作,进行工作评价,宝妈兼职具体业务流程图如下所示:

图3-1业务流程图

2.3.2 系统总体业务流程图

系统的总体业务流程如下图所示。

图3-2系统总体业务流程图

2.2.3 投递简历流程

宝妈兼职管理信息系统主要的一个功能就是实现宝妈浏览招聘信息的同时可以投递简历下图就是投递简历业务流程图:

图3-4投递简历业务流程图

2.4 宝妈兼职管理信息系统数据流程分析

2.4.1 顶层数据流程

根据顶层数据流程图包括了登录注册、用户功能和检索维护等模块,在登录注册模块使用到的数据存储有用户账户文档,用户功能模块需要的存储是用户各功能模块数据文档,检索维护是使用以上这些数据文档通过关键词进行检索。

系统的顶层数据流图如下图所示。

图3-3宝妈兼职管理信息系统顶层数据流图

2.4.2 底层流程图

要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果。前台和后台的数据连接主要通过数据库,既分别对数据库做不同的操作。

系统底层数据流图如下图所示。

 图3-4宝妈兼职管理信息系统底层数据流图

3 宝妈兼职管理信息系统总体设计

3.1 系统的平台设计

平台设计一般分为硬件配置和软件配置。

在硬件方面,考虑到宝妈兼职管理信息系统主要面对宝妈和企业招聘人群,网站的访问量不大。系统处理、统计分析工作简单,Tomcat服务器能够满足中小型网络用户的数据处理,通过互联网Internet 接入及MySQL 5.6以上的数据库应用的需求点。在软件环境方面,要针对系统开发使用的语言、工具、Web 服务器种类对宝妈兼职管理信息系统软件进行配置。综上,宝妈兼职管理信息系统的建议配置如下表:

3-1系统的平台设计的建议配置

硬件

配置

处理器

2.0GHz及以上

内存

8GB及以上

硬盘

100MB以上

显卡

图像级显卡以上

内置电源

ATX 或是 SSI 作为电源机箱电源,最好带有冗余电源

外置电源

后备时间达 7 分钟,允许 130%过载、切换时间小于 10ms 的后备式不间断电源 (UPS)

软件

配置

操作系统

Windows 11、Windows 10、Windows 8、Windows 7

开发语言

Java

使用框架

ssm

开发工具

IDEA(2020版)/MyEclipse(2017)/Eclipse、Vs Code

数据库

MySQL 5.6以上

数据库管理工具

Navicat

JDK版本

Java 1.8

Maven

apache-maven 3.6.1-bin

Tomcat

apache-tomcat-7.0.88

3.2 系统的总体结构设计

3.2.1功能结构图

宝妈兼职管理信息系统根据用户需求可以分为前台用户功能模块和后台管理功能模块。

(1)系统前台用户功能模块

系统前台用户功能模块又可以细分为宝妈用户模块和招聘者用户模块,主要实现用户注册、登录、首页、招聘公告、招聘资讯、留言板、招聘信息、我的账号、个人中心(个人首页、投递简历、工作安排、工作评价、收藏)等功能。前台的功能结构图,如下图所示:

图3-1 系统前台用户功能模块图

(2)系统后台管理功能模块

系统后台管理功能模块主要为管理员模块,主要负责系统用户(管理员、宝妈用户、招聘者用户)招聘信息管理、投递简历管理、工作安排管理、工作评价管理、系统管理、留言管理、招聘公告管理、资源管理(招聘资讯、咨询分类)等信息管理功能。后台的功能结构图,如下图所示:

图3-2 系统后台管理功能模块图

3.2.2主要模块说明书

注册模块说明书如下表所示。

表3-2 注册模块说明书

模块名称

注册

参与者

宝妈、招聘者

描述

宝妈、招聘者填写相关注册数据完成注册成为系统用户

前置条件

后置条件

宝妈、招聘者填写相关注册数据并且要注册的账号不存在与系统中

事件流

  1. 宝妈、招聘者点击注册按钮
  2. 宝妈、招聘者填写相关注册数据
  3. 宝妈、招聘者确认并提交注册数据
  4. 系统提示注册成功

补充说明

  1. 系统检测宝妈、招聘者所输注册数据如不符合要求则提示并返回注册界面
  2. 系统检测宝妈、招聘者所输账号不可用或已存在与系统中则提示并返回注册界面

登录模块说明书如下表所示。

表3-3登录模块说明书

模块名称

登录

参与者

宝妈、招聘者、管理员

描述

宝妈、招聘者、管理员填写自己的账号和密码登录系统

前置条件

宝妈、招聘者、管理员拥有账号和密码

后置条件

宝妈、招聘者、管理员账号和密码都正确

事件流

(1)宝妈、招聘者、管理员在登录页面输入自己的账号和密码

(2)系统检测宝妈、招聘者、管理员各自输入的账号和密码是否正确

(3)账号和密码正确的话,显示登录成功并返回主页面

补充说明

(a)系统检查除密码不正确,返回登录页面

个人信息管理模块说明书如下表所示。

表3-4 个人信息模块说明书

模块名称

管理和修改个人信息

参与者

管理员

描述

管理员可在查看、修改个人信息

前置条件

管理员已登录到系统后台中

后置条件

事件流

(1)管理员可查看个人信息

(2)管理员可修改个人信息资料

修改密码模块说明书如下表所示。

表3-5 修改密码模块说明书

模块名称

管理和修改密码

参与者

管理员

描述

管理员查看、修改密码信息

前置条件

管理员已登录到系统后台中

后置条件

事件流

(1)管理员可查看密码信息

(2)管理员修改密码,修改成功后需使用新密码进行登录

招聘信息模块说明书如下表所示。

表3-6 招聘信息模块说明书

模块名称

招聘信息

参与者

宝妈、招聘者

描述

宝妈、招聘者可搜索和查阅招聘信息;宝妈还可以投递简历;招聘者还可以增改删查招聘信息

前置条件

宝妈、招聘者成功登录系统中

后置条件

事件流

(1)宝妈、招聘者可在前台招聘信息页面中搜索和查看招聘信息

(2)招聘者可在个人中心管理自己的招聘信息

(3)宝妈在招聘信息页面中可投递简历

留言板模块说明书如下表所示。

表3-7 留言板模块说明书

模块名称

留言板

参与者

宝妈、招聘者

描述

宝妈、招聘者可搜索和查阅留言板;招聘者还可回复留言信息

前置条件

宝妈、招聘者成功登录系统中

后置条件

事件流

  1. 宝妈、招聘者可在留言板页面中查看留言信息
  2. 招聘者可对宝妈的留言信息进行回复

招聘公告模块说明书如下表所示。

表3-8 招聘公告模块说明书

模块名称

招聘公告

参与者

宝妈、招聘者

描述

宝妈、招聘者可搜索和查阅招聘公告

前置条件

宝妈、招聘者成功登录系统中

后置条件

事件流

(1)宝妈、招聘者可在前台招聘公告页面中查看系统的招聘公告

招聘资讯模块说明书如下表所示。

表3-9 招聘资讯模块说明书

模块名称

招聘资讯

参与者

宝妈、招聘者

描述

宝妈、招聘者可搜索和查阅招聘资讯

前置条件

宝妈、招聘者成功登录系统中

后置条件

事件流

(1)宝妈、招聘者可在前台招聘资讯页面中搜索和查看招聘资讯

(2)宝妈、招聘者可点赞、收藏、评论某一招聘资讯

工作安排模块说明书如下表所示。

表3-10 工作安排模块说明书

模块名称

工作安排

参与者

宝妈、招聘者

描述

宝妈、招聘者可在个人中心搜索和查阅工作安排;招聘者还可添加工作安排信息

前置条件

宝妈、招聘者成功登录系统中

后置条件

事件流

  1. 宝妈、招聘者可在各自的个人中心工作安排页面中查看工作安排信息
  2. 招聘者可在自己的个人中心工作安排页面,为宝妈添加工作安排信息

工作评价模块说明书如下表所示。

表3-11 工作评价模块说明书

模块名称

工作评价

参与者

宝妈、招聘者

描述

宝妈、招聘者可在个人中心搜索和查阅工作评价;招聘者还可添加工作评价信息

前置条件

宝妈、招聘者成功登录系统中

后置条件

事件流

  1. 宝妈、招聘者可在各自的个人中心工作评价页面中查看工作评价信息
  2. 招聘者可在自己的个人中心工作评价页面,为宝妈添加工作评价信息

3.3 数据库设计

3.3.1 E-R图

该宝妈兼职管理信息系统中由管理员模块、宝妈用户模块和招聘者模块组成,主要涉及到的实体有管理员、宝妈用户、招聘者用户、招聘公告、招聘资讯、留言板、招聘信息、个人首页、招聘信息、投递简历、工作安排、工作评价等。实体与实体之间的联系分为一对一、一对多、多对多三种。在本宝妈兼职管理信息系统实体之间的具体关系如下图:

图4-2 宝妈兼职管理信息系统总E-R关系图

3.3.2 数据表设计

表3-12  job_evaluation (工作评价)

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

job_evaluation_id

int

10

0

N

Y

工作评价ID

recruiter_users

int

10

0

Y

N

0

招聘者用户

mama_users

int

10

0

Y

N

0

宝妈用户

baby_moms_name

varchar

64

0

Y

N

宝妈姓名

task_arrangement

text

65535

0

Y

N

任务安排

job_evaluation

text

65535

0

Y

N

工作评价

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表3-13  mama_users (宝妈用户)

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

mama_users_id

int

10

0

N

Y

宝妈用户ID

baby_moms_name

varchar

64

0

Y

N

宝妈姓名

moms_phone_number

varchar

64

0

Y

N

宝妈电话

moms_id_card

varchar

255

0

Y

N

宝妈身份证

examine_state

varchar

16

0

N

N

已通过

审核状态

user_id

int

10

0

N

N

0

用户ID

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表3-14  message (留言板)

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

message_id

int

10

0

N

Y

留言板ID:

user_id

int

10

0

N

N

0

用户ID:

title

varchar

64

0

Y

N

标题:

content

longtext

2147483647

0

N

N

内容:

nickname

varchar

32

0

N

N

昵称:

avatar

varchar

255

0

Y

N

头像:

email

varchar

125

0

Y

N

留言者邮箱

phone

varchar

11

0

Y

N

留言者手机号码

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

reply

longtext

2147483647

0

Y

N

回复

reply_state

tinyint

4

0

Y

N

0

回复状态

表3-15  表notice (公告)

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

notice_id

mediumint

8

0

N

Y

公告id:

title

varchar

125

0

N

N

标题:

content

longtext

2147483647

0

Y

N

正文:

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表3-16  praise (点赞)

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

praise_id

int

10

0

N

Y

点赞ID:

user_id

int

10

0

N

N

0

点赞人:

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

source_table

varchar

255

0

Y

N

来源表:

source_field

varchar

255

0

Y

N

来源字段:

source_id

int

10

0

N

N

0

来源ID:

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表3-17  recruiter_users (招聘者用户)

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

recruiter_users_id

int

10

0

N

Y

招聘者用户ID

name_of_recruiter

varchar

64

0

Y

N

招聘者姓名

recruiters_phone_number

varchar

64

0

Y

N

招聘者电话

examine_state

varchar

16

0

N

N

已通过

审核状态

user_id

int

10

0

N

N

0

用户ID

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表3-18  recruitment_information (招聘信息)

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

recruitment_information_id

int

10

0

N

Y

招聘信息ID

recruiter_users

int

10

0

Y

N

0

招聘者用户

name_of_recruiter

varchar

64

0

Y

N

招聘者姓名

recruiters_phone_number

varchar

64

0

Y

N

招聘者电话

recruitment_name

varchar

64

0

Y

N

招聘名称

recruitment_classification

varchar

64

0

Y

N

招聘分类

recruitment_address

varchar

64

0

Y

N

招聘地址

recruitment_unit

varchar

255

0

Y

N

招聘单位

recruitment_salary

varchar

64

0

Y

N

招聘薪资

recruitment_time

date

10

0

Y

N

招聘时间

recruitment_requirements

varchar

64

0

Y

N

招聘要求

recruitment_introduction

text

65535

0

Y

N

招聘简介

hits

int

10

0

N

N

0

点击数

praise_len

int

10

0

N

N

0

点赞数

recommend

int

10

0

N

N

0

智能推荐

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表3-19 submit_resume (投递简历)

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

submit_resume_id

int

10

0

N

Y

投递简历ID

mama_users

int

10

0

Y

N

0

宝妈用户

baby_moms_name

varchar

64

0

Y

N

宝妈姓名

moms_id_card

varchar

255

0

Y

N

宝妈身份证

recruiter_users

int

10

0

Y

N

0

招聘者用户

recruitment_name

varchar

64

0

Y

N

招聘名称

recruitment_classification

varchar

64

0

Y

N

招聘分类

recruitment_address

varchar

64

0

Y

N

招聘地址

personal_resume

varchar

255

0

Y

N

个人简历

examine_state

varchar

16

0

N

N

未审核

审核状态

examine_reply

varchar

16

0

Y

N

审核回复

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表3-20  work_arrangement (工作安排)

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

work_arrangement_id

int

10

0

N

Y

工作安排ID

recruiter_users

int

10

0

Y

N

0

招聘者用户

mama_users

int

10

0

Y

N

0

宝妈用户

baby_moms_name

varchar

64

0

Y

N

宝妈姓名

recruitment_name

varchar

64

0

Y

N

招聘名称

recruitment_classification

varchar

64

0

Y

N

招聘分类

recruitment_address

varchar

64

0

Y

N

招聘地址

task_arrangement

text

65535

0

Y

N

任务安排

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

3.4 界面设计

3.4.1 招聘公告界面

宝妈用户和招聘者用户可查看所有招聘公告信息详情,包括关于我们、网站介绍、联系方式等。界面如下图所示。

图3-1 招聘公告界面图

3.4.2 招聘资讯界面

宝妈用户和招聘者用户可查看所有招聘资讯信息详情,并对某一篇招聘资讯进行点赞、收藏和评论操作。界面如下图所示。

图3-2 招聘资讯界面图

3.4.3 留言板界面

宝妈用户和招聘者用户可查看所有留言信息详情,并对可进行发布留言和回复留言操作。界面如下图所示。

图3-3 留言板界面图

3.4.4 招聘信息界面

宝妈用户和招聘者用户可查看所有招聘信息详情,并对某一篇招聘信息进行点赞、收藏和评论操作,并且宝妈用户还可以点击投递简历操作。界面如下图所示。

图3-4 招聘信息界面图

3.4.5 宝妈用户个人中心界面

宝妈用户可对个人首页、投递简历、工作安排、工作评价、收藏等信息进行管控,并可查看信息详情。界面如下图所示。

图3-5 宝妈用户个人中心界面图

3.4.6 招聘者用户个人中心界面

招聘者用户可对个人首页、招聘信息、投递简历、工作安排、工作评价、收藏等信息进行管控,可查看信息详情。并可添加发布招聘信息,筛选宝妈用户投递的简历信息,为录用的宝妈用户安排工作,对其工作表现进行评价。界面如下图所示。

图3-6 招聘者用户个人中心界面图

3.4.7 招聘信息管理界面

管理员可查看所有招聘信息详情,可添加、删除、修改、查询招聘信息操作,并可以查看某一招聘信息的评论信息内容。界面如下图所示。

图3-7 招聘信息管理界面图

3.4.8 投递简历管理界面

管理员可查看所有投递简历信息详情,可查询、删除投递简历信息操作,并可以点击工作安排按钮,为宝妈用户安排工作。界面如下图所示。

图3-8 投递简历管理界面图

3.4.9 工作安排管理界面

管理员可查看所有工作安排信息详情,可查询、删除工作安排信息操作,并可以点击评价按钮,为宝妈用户的工作情况进行评价。界面如下图所示。

图3-9 工作安排管理界面图

3.4.10 工作评价管理界面

管理员可查看所有工作评价信息详情,可查询、删除工作安排信息操作。界面如下图所示。

图3-10 工作评价管理界面图

3.5 系统安全设计

在宝妈兼职管理信息系统的分析与设计中,安全设计是非常重要的一项任务。它涉及到对系统中的数据和信息进行保护和防护,以确保系统的安全性和可靠性,只有确保了系统的安全性,才能保证数据的安全和系统的可靠性。

3.5.1网络安全

网络安全设计分析旨在确保计算机网络系统的安全性和可靠性。下面是网络安全设计分析的几个关键方面:

风险评估与威胁建模:进行系统的风险评估,确定系统面临的潜在威胁和风险。建立威胁模型,分析可能的攻击者、攻击路径和攻击手段。

访问控制与权限管理:采取适当的措施来限制用户对系统资源的访问权限。使用强密码策略、多因素身份验证等技术来确保只有经过授权的人员可以访问系统。

数据加密与传输安全:对网络传输中的敏感数据进行加密处理,确保数据在传输过程中的保密性和完整性。使用安全协议(如SSL/TLS)来保护数据传输通道。

安全漏洞扫描与修复:定期进行系统的安全漏洞扫描,及时发现和修复系统中的漏洞。确保系统处于最新的安全状态。

事件响应与恢复计划:建立有效的安全事件响应机制,及时发现和应对安全事件。同时,制定恢复计划,保障系统在遭受攻击或故障后能够快速恢复正常运行。

日志记录与审计:建立完善的日志记录和审计机制,跟踪用户行为和系统事件,以便及时发现异常行为并进行调查。

总之,网络安全是构建安全可靠的计算机网络系统的基础。通过综合考虑上述方面的措施,可以有效降低系统面临的各类安全风险和威胁。

3.5.2数据安全

数据安全设计分析旨在确保组织的数据在存储、传输和处理过程中得到保护,防止数据泄露、篡改和丢失。以下是数据安全设计分析的一些关键方面:

访问控制:实施严格的访问控制措施,确保只有经过授权的用户可以访问数据。使用身份验证和授权机制限制用户对数据的访问权限。

数据加密:对敏感数据进行加密处理,包括数据在存储和传输过程中的加密,以保障数据的保密性和完整性。

安全备份与恢复:建立定期备份数据的机制,并测试备份数据的完整性和可恢复性。在数据丢失或受损时能够快速恢复数据。

安全漏洞管理:定期进行数据安全漏洞扫描和修复,确保数据处理系统没有已知的漏洞可被攻击者利用。

合规性与审计:遵循相关法规和数据保护法律要求,建立数据审计机制,记录数据访问日志,以便跟踪和审计数据的使用情况。

数据生命周期管理:规划和管理数据的整个生命周期,包括数据收集、存储、处理、传输和销毁等环节,确保数据按照规定的流程进行管理。

综上所述,数据安全是保障组织数据安全和隐私的重要环节。通过综合考虑上述方面的措施,可以有效保护数据不受损失、泄露和被恶意使用。

4 宝妈兼职管理信息系统实施

4.1 数据库的实施

本系统代码开发符合代码设计基本原则,如系统与数据库连接代码,在springMVC及spring配置文件在server/src/main/webapp/WEB-INF/web.xml,代码如下:

  <servlet>

    <servlet-name>SpringDispatcherServlet</servlet-name>

    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <init-param>

      <param-name>contextConfigLocation</param-name>

      <!-- 引入spring配置文件 -->

      <param-value>classpath:spring/spring-*.xml</param-value>

    </init-param>

  </servlet>

  <servlet-mapping>

    <servlet-name>SpringDispatcherServlet</servlet-name>

    <url-pattern>/</url-pattern>

  </servlet-mapping>

本宝妈兼职管理信息系统通过和MySQL数据连接和实施,可以进行数据的读取、写入和修改操作。在运行其他与数据库相关页的时候都用JDBC实现与数据库的连接,JDBC是Java编程语言访问关系型数据库MySQL的标准API。通过JDBC连接MySQL数据库,加载数据库驱动、建立连接、创建Statement对象、执行SQL语句、处理结果。

4.2 程序实现

4.2.1系统类编写

在登陆方法中,有一个map类型的参数,用于存储从浏览器中发送过来的数据,方法的返回值也是一个map类型,键值对结构,非空校验通过后会调用service层的一个select方法,该方法主要是格式化生成一个sql查询语句,生成的sql语句会作为参数传给,servece层的另外一个方法,该方法会直接调用dao层的方法操作数据库,而之前生成的sql语句也会作为参数传送过去,登陆使用了MD5加密,登陆成功后,会给登陆成功的用户发送登陆令牌,登陆令牌为实体类,映射到数据库中的AccessToken表,该实体类含有令牌ID,使用UUID工具,创建不重复的字符串作为ID,然后会将用户的信息同样作为属性,加入到令牌对象中,之后执行service的save方法,与用户登陆时查询用户原理一致,会将令牌信息存入到数据库中,之后采用json格式封装返回给浏览器的数据,返回的数据封装好时,调用success方法,格式化返回的数据,以特定的格式返回给浏览器,浏览器写通用的代码,对返回的数据进行验证和处理,登陆代码如下:

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

项目dao层都声明为interface接口,具体的操作在XML中体现,XML使用namespace后面填上interface的权限命名,实现当前XML与我们的interface之间的绑定,并调用select方法,通过占位符表达式,将参数原封不动的绑定到方法中,mybatis调用此方法时,就会将sql语句,发送给数据库执行,执行后会将结果传给mybatis框架,mybatis框架会根据我们定义的返回结果类型,对数据进行封装,封装成我们的Java对象,代码如下:

<mapper namespace="com.project.demo.dao.base.BaseMapper">

    <select id="selectBaseList" resultType="java.util.LinkedHashMap">

        ${select}

    </select>

    <select id="selectBaseCount" resultType="Integer">

        ${count}

    </select>

    <select id="selectBaseOne" resultType="Object">

        ${select}

    </select>

    <update id="updateBaseSql">

        ${sql}

    </update>

    <delete id="deleteBaseSql">

        ${sql}

    </delete>

</mapper>

Java对象返回后,会到我们的service层,service拿到数据后会执行一系列操作,这里面时将其中的数据用一个工具类转换成this对象,返回集合结果,代码如下:

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

MD5加密的实现方法,使用了jdk中的工具,生成的为字节数组,经过一系列操作,会转换为MD5加密密码,代码如下:

    public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

            }

            re_md5 = buf.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return re_md5;

}

登陆拦截管理器,在interceptor文件夹下的LoginInterceptor.java文件,拦截器会首先对用户登陆注册的接口放行,之后会对用户登陆的身份令牌进行校验,如果没有身份令牌,为“未登录用户”,无身份令牌的游客依然允许访问,固对请求做了限制,post请求要求必须要有身份令牌,所以在post请求没有身份令牌的情况下,会禁止用户登陆,并禁止用户访问相关的接口,拦截器中,做了跨域处理,代码如下:

@Slf4j

public class LoginInterceptor implements HandlerInterceptor {

    private String tokenName = "x-auth-token";

    @Override

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        String token = request.getHeader(this.tokenName);

        setHeader(request, response);

        log.info("[请求接口] - {} , [请求类型] - {}",request.getRequestURL().toString(),request.getMethod());

private void setHeader(HttpServletRequest request, HttpServletResponse response) {

        response.setHeader("Access-control-Allow-Origin", request.getHeader("Origin"));

        response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");

        response.setHeader("Access-Control-Allow-Credentials", "true");

        response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));

        response.setHeader("Access-Control-Max-Age", "1800");

        response.setHeader("Content-Type", "application/json;charset=UTF-8");

        response.setStatus(HttpStatus.OK.value());

}

注册方法执行过程中,会调用service下的readBody方法,并将我们的request对象传递进去,将传递过去的数据转换成map形式,并且访问了controller,之后可以在map对象中拿到相应的用户数据,首先判断用户名是否已存在,是否已被其他人注册,保证用户名的唯一性,此处将输入的用户名进行查询数据库,获取一个集合,若该集合非空,则证明该用户名已经被注册,返回一条错误信息“用户已存在”,若用户名可用,先将用户传入进来的密码加密,加密后将用户的信息发给service相应的方法,service层调用dao层相应的方法,将用户注册的信息,存储到数据库中,代码如下:

    @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

用户的权限,存储在实体类entity下的UserGroup.java中,数据库表中,该表格存储的是用户的相应权限,每一个user用户表下的每一条数据,代表一个用户,里面都有一个UserGroup字段,来判断当前所具有的身份和权限,浏览器通过访问UserGroupController.java相应的方法,获取当前用户具有的权限,根据相应的权限定制该用户菜单显示,代码如下:

@TableName("user_group")

@Data

@EqualsAndHashCode(callSuper = false)

public class UserGroup implements Serializable {

private static final long serialVersionUID = 968356951391304707L;

}

Mybatis框架,是对数据库进行操作的框架,存在一个独立的配置文件mybatis-config.xml,配置使用一些特定的操作,对Java对象中的数据库进行映射配置,项目使用的是mybatis-plus框架,该框架是对mybatis框架的又一层封装,框架提供一些基础的功能,如插入数据到数据库中的insert方法,代码如下:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration

        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

    <settings>

        <setting name="lazyLoadingEnabled" value="true" />

        <setting name="aggressiveLazyLoading" value="false" />

        <setting name="useGeneratedKeys" value="true" />

        <setting name="useColumnLabel" value="true" />

        <setting name="mapUnderscoreToCamelCase" value="false" />

    </settings>

</configuration>

    <!--mybatis-->

    <dependency>

      <groupId>com.baomidou</groupId>

      <artifactId>mybatis-plus</artifactId>

      <version>3.3.1</version>

    </dependency>

Mybatis框架,当前接口的具体映射为mapper下的xml文件,可以使用很多mybatis已经定义好的标签,如增删改查的四个标签,在标签中间写的是具体的sql语句,如include标签,会执行固定的sql语句,这样在选取字段时,就不需要重复书写,where标签则为动态查询标签,去除空格的标签为trim,循环遍历标签为foreach,代码如下:

    <sql id="selectAccessTokenVo">

        select token_id, token, maxage, create_time, update_time, user_id from access_token

    </sql>

    <select id="selectAccessTokenList" parameterType="com.project.demo.entity.AccessToken" resultMap="AccessTokenResult">

        <include refid="selectAccessTokenVo"/>

        <where>

            <if test="token != null  and token != ''"> and token = #{token}</if>

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

            <if test="userId != null "> and user_id = #{userId}</if>

        </where>

    </select>

    <select id="selectAccessTokenById" parameterType="Integer" resultMap="AccessTokenResult">

        <include refid="selectAccessTokenVo"/>

        where token_id = #{tokenId}

    </select>

    <insert id="insertAccessToken" parameterType="com.project.demo.entity.AccessToken" useGeneratedKeys="true" keyProperty="tokenId">

        insert into access_token

        <trim prefix="(" suffix=")" suffixOverrides=",">

            <if test="token != null  and token != ''">token,</if>

            <if test="maxage != null ">maxage,</if>

            <if test="createTime != null ">create_time,</if>

            <if test="updateTime != null ">update_time,</if>

            <if test="userId != null ">user_id,</if>

         </trim>

        <trim prefix="values (" suffix=")" suffixOverrides=",">

            <if test="token != null  and token != ''">#{token},</if>

            <if test="maxage != null ">#{maxage},</if>

            <if test="createTime != null ">#{createTime},</if>

            <if test="updateTime != null ">#{updateTime},</if>

            <if test="userId != null ">#{userId},</if>

         </trim>

    </insert>

    <update id="updateAccessToken" parameterType="com.project.demo.entity.AccessToken">

        update access_token

        <trim prefix="SET" suffixOverrides=",">

            <if test="token != null  and token != ''">token = #{token},</if>

            <if test="maxage != null ">maxage = #{maxage},</if>

            <if test="createTime != null ">create_time = #{createTime},</if>

            <if test="updateTime != null ">update_time = #{updateTime},</if>

            <if test="userId != null ">user_id = #{userId},</if>

        </trim>

        where token_id = #{tokenId}

    </update>

    <delete id="deleteAccessTokenById" parameterType="Integer">

        delete from access_token where token_id = #{tokenId}

    </delete>

    <delete id="deleteAccessTokenByIds" parameterType="String">

        delete from access_token where token_id in

        <foreach item="tokenId" collection="array" open="(" separator="," close=")">

            #{tokenId}

        </foreach>

    </delete>

项目中,除basecontroller外,其他controlller里面基本不含其他方法,均来自于basecontroller的继承,个别特定controller无法使用通用方法时,会重写相应的增上改查方法,原理是将浏览器中传递过来的数据,直接调用addMap方法、代码如下:

    @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        Map<String,Object> paramMap = service.readBody(request.getReader());

        this.addMap(paramMap);

        return success(1);

}

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

4.2.2系统后台程序的实现

系统后台程序的实现主要由实现后台管理各功能程序的添加数据信息、修改数据信息、删除数据信息、查询数据信息等操作。下面以宝妈兼职管理信息系统后台管理的招聘信息为例来解析系统后台程序的实现

招聘信实体类,使用java类去映射数据库中的数据库表,以AccessToken.java为例,里面含有数据库表名称,表中的主键字段,表中其他字段与Java属性间的映射,代码如下:

@TableName("access_token")

@Data

@EqualsAndHashCode(callSuper = false)

public class AccessToken implements Serializable {

    private static final long serialVersionUID = 913269304437207500L;

    @TableId(value = "token_id", type = IdType.AUTO)

    private Integer tokenId;

    @TableField(value = "token")

    private String token;

    @TableField(value = "maxage")

    private Integer maxage;

招聘信息集成在BaseController.java文件中,增的代码如下: 

    @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

    }

招聘信息集成在BaseController.java文件中,删的代码如下:

     @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

招聘信息集成在BaseController.java文件中,改的代码如下:

    @PostMapping("/set")

@Transactional

    public Map<String, Object> set(HttpServletRequest request) throws IOException {

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

}

招聘信息集成在BaseController.java文件中,查询一条数据的代码如下:

    @RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

招聘信息集成在BaseController.java文件中,查询列表数据的代码如下:

    @RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

    }

5结束语

5.1 系统评价

目前本系统,正在试运行阶段,各功能均运行正常,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正。经过严格的测试,能够确保系统的每个界面的操作符合常规逻辑,显示出非常出色的性能,它的精度、可靠性、稳健性都达到了极高的水平,而且它还支持快速、精细的点击操作,使用者的使用感受更加良好。此外,它还支持各种主流浏览器,满足不同的使用要求。

在对宝妈兼职管理信息系统进行设计与开发时,通过对用户需求和市场趋势的分析,我们选择采用Java编程语言、JavaScript、AJAX、MyBatis技术、Tomcat服务器和SSM开源框架等,使用关系型数据库MySQL,通过互联网平台,快速部署和实施了一个界面友好、操作简单、数据安全、功能全面、处理高效的宝妈兼职管理信息系统。同时借鉴了相似国内外优秀系统网站的优点,从界面到系统设计都保证了管理员以及用户能够方便操作。

宝妈兼职管理系统的开发主要用于帮助宝妈们获取兼职工作的平台和协助企业招聘的工具。通过该系统,宝妈们可以方便地浏览并申请适合的兼职岗位,同时能够根据自己的可用时间和能力来灵活安排工作。该系统的设计与实现需要充分考虑宝妈们的需求,提供简单易用的界面,便捷的操作流程,以及对兼职任务的合理筛选和匹配功能。

宝妈兼职管理系统的实现能够提提升用户体验,具备友好简洁的界面、简单高效的操作,多元齐全的功能,是否能够满用户的需求。并且具有功能完备性,本宝妈兼职管理系统提供了充分的兼职岗位信息,宝妈们能够有效利用时间便捷地进行筛选和选择自己心仪适合的岗位进行在线投递简历,应聘。招聘者能够通过该系统发布招聘信息,筛选合适的求职宝妈,并在线安排工作。用户还能够借助系统进行在线进行交流,提升了用户之间的交互。同时,能够保证系统数据的安全性,采取了安全、可靠、必要的安全措施来保护用户的个人信息和系统数据信息。此外系统提供了留言反馈机制,能否及时解决宝妈们和招聘者们在使用过程中遇到的问题和困惑

5.2 展望

本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。

系统在以后的升级过程中,需要解决一系列用户所提出的问题,同时需要保证大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。

在未来期望能够不断完善该系统,提供更多的多样多元的功能,例如,可以打造一个社区平台,除了提供兼职服务功能,可以逐步扩展为宝妈们的社区平台,促进交流、分享和支持。同时为了更好地匹配兼职岗位和宝妈们的需求,可以引入推荐算法,推荐更加精准和个性化的兼职机会。并且将系统适配到多个平台,包括网页端、移动端等,提供更加便捷和灵活的使用方式,方便宝妈使用。此外可以实现数据分析支持,通过对系统使用情况进行数据分析,了解宝妈们的偏好和需求,进而优化系统的功能和操作流程。

5.3 开发体验与体会

通过宝妈兼职管理信息系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在开发前,我充分调研和了解宝妈们的需求,注重用户体验,进而设计系统各项功能,不断优化界面和功能,确保能够满足用户需求,方便用户使用系统。同时,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计,在实现多元功能的同时,保障系统的稳定性和安全性,确保用户的个人信息得到有效保护。在开发和测试过程中,及时修复和优化系统中存在的问题。在项目结束后,对整个系统的开发和实施进行总结和评估,从中学习经验教训,为后续的开发项目积累经验。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

本次设计历时多月。在这个毕业设计过程中,离不开指导教师的指导,使事情基本顺利。指导老师无论是在毕业设计历经中,还是在论文做完中都给了我特别大的助益。另一方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉。我从老师那里学到了很多东西。在理论和实践中,我的技能得到了特别大的提高。在此,特向指导老师表示由衷的感激,同时也感谢在大学生涯中每一位教导我的老师,是你们教给了我丰富的知识,更教会了我遇到问题时,如何去应对并解决。谢谢你们的帮助与支持。同时感谢每一位给予过我帮助的人们,感谢你们的建议,使本系统更加完善,

经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展。让我对系统研发有了更深层次的认识。如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获。

参考文献:

[1]宋蕙帆.基于SSM的精准就业服务平台设计与实现[J].科技创新与应用,2024,14(08):102-105.DOI:10.19981/j.CN23-1581/G3.2024.08.023.

[2]韩小龙,司珍,吕晓峰,等.基于面向对象编程的Java语言程序设计方法分析[J].集成电路应用,2024,41(01):228-229.DOI:10.19339/j.issn.1674-2583.2024.01.103.

[3]吴昊,张丹.基于SpringBoot框架的大学生网上兼职系统设计与实现[J].电脑知识与技术,2023,19(35):68-72.DOI:10.14004/j.cnki.ckt.2023.1860.

[4]Arman M .The Advantages of Online Recruitment and Selection: A Systematic Review of Cost and Time Efficiency[J].Business Management and Strategy,2023,14(2):220-240.

[5]黄志超.校企合作背景下的企业兼职教师管理平台的设计与实现[J].电脑知识与技术,2023,19(15):27-29+43.DOI:10.14004/j.cnki.ckt.2023.0813.

[6]隋胜伟,江慎诺,李思宇.“宝妈”有了心仪工作企业解了用工难题[N].中山日报,2023-01-21(002).DOI:10.38337/n.cnki.nzsrb.2023.000187.

[7]M. K ,M. M ,Sathya K , et al.A modern online interview platform for recruitment system[J].Materials Today: Proceedings,2023,80(P3):3022-3027.

[8]方菲,张小雪.兼职宝妈被“精准引流”[J].方圆,2022,(11):50-51.

[9]殷凤梅,刘冠中.基于SSM框架的网上招聘系统设计与实现[J].长春大学学报,2022,32(04):1-5+62.

[10]吴明阳,王森琛.基于SSM框架整合的客户服务系统设计和实现[J].新型工业化,2022,12(02):12-15.DOI:10.19335/j.cnki.2095-6649.2022.02.005.

[11]孙善毅,朱宁.基于SSM框架的学生信息管理系统的开发与应用[J].电子技术与软件工程,2021,(04):43-45.

[12]李孟津,杨丹.基于SpringBoot的在线招聘网站的设计与实现[J].科学技术创新,2020,(26):98-99.

[13]马豪.兼职实习劳务管理系统的设计与开发[D].北京林业大学,2020.DOI:10.26949/d.cnki.gblyu.2020.000846.

[14]邢娜,欧益伊.医院在线招聘管理系统的开发与应用[J].转化医学杂志,2020,9(03):162-164.

[15]孙永成,在线报名招聘系统.甘肃省,兰州成祥信息技术有限公司,2020-02-13.

[16]马英瑞,刘美君,李宏博.Web平台上校园兼职系统的设计与实现[J].福建电脑,2019,35(10):68-69.DOI:10.16707/j.cnki.fjpc.2019.10.022.

[17]何肖娜.基于Android和Web的大学生兼职系统设计与实现[J].电脑知识与技术,2019,15(22):78-81.DOI:10.14004/j.cnki.ckt.2019.2699.

[18]张冬,田艳.校园兼职信息管理系统分析与设计[J].软件工程,2019,22(07):37-39.DOI:10.19644/j.cnki.issn2096-1472.2019.07.012.

[19]杨玲,李连天.基于web的大学生兼职系统研究与实现[J].科技风,2019,(02):76.DOI:10.19392/j.cnki.1671-7341.201902065.

[20]王家.基于B/S结构的高校教务系统设计[J].福建电脑,2018,34(10):139+179.DOI:10.16707/j.cnki.fjpc.2018.10.066.

关注+点赞+收藏+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值