人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

这篇具有很好参考价值的文章主要介绍了人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SpringBoot人力资源管理系统
数据库采用 sqlserver2019或mysql8.0
• 环境及技术说明:页面全部为html页面,交互由ajax与Bootstrap-table完成

目前项目已修改为mysql数据库,如果想要使用sqlserver数据库
只需要将com.xpu.hrms.data.source.config.DataBaseConfigure文件中注解
@ConfigurationProperties(prefix = "mysql .datasource.hrms") 中的mysql改为sqlserver
将pom文件中mysql驱动依赖注释掉并反向注释sqlserver驱动依赖
同时时将application.properties属性文件中的有关mysql配置注释掉,有关sqlserver配置反向注释即可

一、课设说明

1.设计题目

人力资源管理系统

    人力资源部门希望建立一个数据库来管理它的员工。一个公司有几个部门,而一个员工属于一个部门。这个部门指派一个经理来全面负责部门事务和部门员工。为了有助于管理好部门工作,某些工作人员被任命来管理一组人员。当有一个新的员工进入公司时,需要他以前的工作经历和成绩。通常来说,每个员工都要经历一次面试,这通常是由经理来进行的。公司定义了一系列的职位类型,例如经理、业务分析员、销售人员和秘书,而且每个类型都有相关的等级,员工所处的位置决定了员工的工资。职位依据其工作量来分配给一个部门。例如,一个部门可能分配给两个业务分析员的职位。每个岗位会分配给一个员工,随着时间的过去,各个职位都会被分配给工作人员。

2.任务与要求:

  1. 掌握数据库设计和实现的基本过程。
  2. 掌握数据库模式设计、分析和实现的方法。
  3. 了解数据库应用系统软件开发的一般过程。
  4. 学习相关的预备知识。
  5. 按照数据库设计与实现过程通过系统分析,从数据库数据和应用系统功能两方面设计实现一个完整的数据库应用系统。
  6. 培养团队合作精神,要求5-6人组成开发小组,每位同学承担开发过程中的不同角色。
  7. 每个小组需要答辩,讲解设计方案,演示系统运行,汇报分工合作情况。
  8. 撰写并提交课程设计报告课程设计说明。

3.开发环境说明

  • 环境及技术说明:

名称

工具及版本

Java

Jdk1.8

开发工具

Eclipse IDE Version: 2022-03

数据库

Sql server2019

数据库连接池

Druid1.1.0

服务器

Tomcat 9.0

代码仓库

本地

后端框架

Springboot2.0.4+mybatis1.3.2

前端框架

BootStrap框架+jQuery

构建工具

Maven3.84

文件字符编码

Utf8

表1       开发环境说明

二、需求分析

1.做一个人力资源管理系统 ,要求采用前后端分离、分布式架构。

2.要求能够实现以下功能:

  • 机构管理:总经理对公司组织机构(部门、职位)的增、删、改、查。
  • 日常业务:入职管理、人事档案管理、人才库管理、求职者管理等功能的增、删、改、查。

其他部门员工登录时提示无权限使用该系统。只有总经理和隶属人事部的人员才能使用。

入职管理:即为面试,只有总经理才能决定面试结果。

人事档案管理:即为员工信息的增删改查,修改职位同时会更新员工的账号权限。

人才库管理:离职员工不会真正删除,也会存到人才库中。

求职者管理:即为初次求职者信息的录入,进行笔试,通过笔试的人才可以推荐前往面试(面试全部由总经理进行)。直接添加或注册的账户视为内推账户,可以免笔试进行面试。

上述各业务依据人事部员工职位的不同而具有不同的增删改权限。

  • 用户管理:总经理和人事部经理对用户账号的增删改查功能。
  • 权限管理:用户权限只能通过更改员工职位来修改。

制度文件(公告)管理:制度文件与通知公告的增、删、改、查。权限会根据职位有所不同

三、数据库概念结构设计:

1.概念模型图

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图1    xpu_hrms概念模型

2.概念结构设计——ER实体图

2.1员工表

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目图2    ER图   员工实体


2.2部门表

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图3    ER图   部门实体

 

        2.3文件(制度公告)表:

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图4    ER图   文件实体

2.4用户表:

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图5    ER图   用户实体

2.5职位表:

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图6    ER图   职位实体

2.6面试者表:

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图7       ER图   简历实体

  

3.概念结构设计——ER实体关系图

关系图:

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图8       ER图   实体关系

ER图解释:

一个员工隶属于一个部门,一个部门包含多个员工
一个员工就职于一个职位,一个职位可以有多个员工
一个部门拥有多个职位,一个职位可存在于多个部门
一个内推面试者通过面试成为一名员工

一名普通面试者通过笔试成为一名用户,一名用户通过面试成为一名员工
一个用户管理多个文件

四、应用系统功能模块

1.具体模块分析及流程

人力资源管理系统具体由机构管理、常用业务、权限管理、通知公告四部分组成。机构管理权限由总经理持有,总经理对人力资源管理具有所权限可以对公司部门、员工职位进行修改;总经理和人事部经理,拥有常用业务中入职管理、人事档案管理、求职者管理、和人才库管理;用户管理是用户自己进行用户账号管理和用户相应权限可操作范围管理,通知公告即公司公告的发布管理具体见图9所示:

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图9          系统功能模块图

系统登录流程图:

不同的员工账号具有不同的权限,登录系统后显示的界面及功能不同,详见图10。

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图10        登录流程图

2.总体业务流程:

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图11   总体业务流程

五、数据库逻辑结构设计:

1.ER图——关系模型转化

1.1员工关系模型:

db_staff(id,name,sex,age,place,birth,tel,staff_department,staff_position,entry_time,leave_time,isdelete)

1.2部门关系模型:

db_department(id,department_name,position,duty)

1.3文件关系模型:

file(id,file_name,file_content,0post_time,post_staff)

1.4用户关系模型:

db_user(id,staff_name,user_account,user_password,creat time,role_id)

1.5职位关系模型

db_position(id,position_level,position_salary,position)

1.6简历关系模型:

db_Interviewee(id,name,sex,age,desired_position,desired_department,work_experience,work_grade)

2.数据字典

2.1员工表:

数据项

编号

数据项名

数据项含义

与其他数据项的关系

存储结构

db_staff

D1-1

id

员工编号

员工表主码 

char(32)

D1-2

name

员工性名

属性 

varchar(50)

D1-3

sex

员工性别

属性 

varchar(20)

D1-4

birth

出生日期

属性  

datetime

D1-5

place

出生地

属性  

varchar(50)

D1-6

age

员工年龄

属性  

int

D1-7

tel

员工电话

属性 

varchar(50)

D1-8

department

部门

部门表id外码 

varchar(50)

D1-9

position

员工职位

职位表id外码 

varchar(50)

D1-10

entry-time

入职时间

属性 

Datetime

D1-11

leave-time

离职时间

属性 

Datetime

D1-12

isdelete

工作状态

属性

varchar(10)

2    数据字典    员工表

2.2部门表:

数据项

编号

数据项名

数据项含义

与其他数据项的关系

存储结构

db_department

D5-1

id

部门编号

部门表主码 

varchar(50)

D5-2

name

部门名称

主属性

varchar(50)

D5-3

position

部门职务

属性 

varchar(50)

D5-4

duty

部门职责

属性 

varchar(255)

表3    数据字典    部门表

2.3文件表:

数据项

编号

数据项名

数据项含义

与其他数据项的关系

存储结构

db_file

D3-1

id

文件编号

档案表主码 

Char(32)

D3-2

file_name

文件名

属性

varchar(255)

D3-3

file_content

文件内容

属性 

varchar(255)

D3-4

post_time

入档时间

从属 

datetime

D3-5

post_staff

入档人员

员工表id外码

char(32)

表4    数据字典    文件表

2.4用户表:

数据项

编号

数据项名

数据项含义

与其他数据项的关系

存储结构

db_user

D4-1

id

用户编号

用户表主码

Char(32)

D4-2

staff_name

用户姓名

属性

varchar(50)

D4-3

user_account

账户

主属性

varchar(50)

D4-4

user_password

用户密码

属性

varchar(50)

D4-5

creat_time

创建时间

属性

datetme

D4-6

role_id

用户ID

属性

int

表5       数据字典   用户表

2.5职位表:

数据项

编号

数据项名

数据项含义

与其他数据项的关系

存储结构

db_position

D5-1

id

职位编号

职位表主码 

varchar(32)

D5-2

position_level

职位等级

属性

char(50)

D5-3

position_salary

职位薪资

属性 

real

D5-4

position

职位

职位表id外码 

varchar(50)

表6    数据字典   职位表

2.6简历表:

数据项

编号

数据项名

数据项含义

与其他数据项的关系

存储结构

db_interviewee

D6-1

id

面试者编号

面试者表主码 

char(32)

D6-2

name

面试者姓名

属性

varchar(50)

D6-3

sex

面试者性别

属性 

varchar(20)

D6-4

age

面试者年龄

属性 

int

D6-5

desired_position

期望职位

属性 

varchar(50)

D6-6

desired_department

期望部门

属性 

varchar(50)

D6-7

work_experience

工作经验

属性 

varchar(255)

D6-8

work_grade

工作成绩

属性 

varchar(50)

表7    数据字典   简历表

六、详细设计及实现

1.建立数据库(表,视图,索引等

CREATE DATABASE xpu_hrms;
USE xpu_hrms;

-- ----------------------------
-- Table structure for db_department
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[db_department]') AND type IN ('U'))
    DROP TABLE [dbo].[db_department]
GO
CREATE TABLE [dbo].[db_department] (
  [id] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [department_name] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [position] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [duty] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL
)
GO
ALTER TABLE [dbo].[db_department] SET (LOCK_ESCALATION = TABLE)
GO
EXEC sp_addextendedproperty
'MS_Description', N'部门名',
'SCHEMA', N'dbo',
'TABLE', N'db_department',
'COLUMN', N'department_name'
GO
EXEC sp_addextendedproperty
'MS_Description', N'职位类型 职位名',
'SCHEMA', N'dbo',
'TABLE', N'db_department',
'COLUMN', N'position'
GO
EXEC sp_addextendedproperty
'MS_Description', N'职责',
'SCHEMA', N'dbo',
'TABLE', N'db_department',
'COLUMN', N'duty'
GO
 
-- ----------------------------
-- Table structure for db_file
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[db_file]') AND type IN ('U'))
    DROP TABLE [dbo].[db_file]
GO
CREATE TABLE [dbo].[db_file] (
  [id] char(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [file_name] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [file_content] varchar(255) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [post_time] datetime  NOT NULL,
  [post_staff] char(32) COLLATE Chinese_PRC_CI_AS  NOT NULL
)
GO
ALTER TABLE [dbo].[db_file] SET (LOCK_ESCALATION = TABLE)
GO
-- ----------------------------
-- Table structure for db_interviewee
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[db_interviewee]') AND type IN ('U'))
    DROP TABLE [dbo].[db_interviewee]
GO
CREATE TABLE [dbo].[db_interviewee] (
  [id] char(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [name] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [sex] varchar(20) COLLATE Chinese_PRC_CI_AS  NULL,
  [age] int  NULL,
  [desired_position] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [desired_department] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [work_experience] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,
  [work_grade] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL
)
GO

ALTER TABLE [dbo].[db_interviewee] SET (LOCK_ESCALATION = TABLE)
GO
 
-- ----------------------------
-- Table structure for db_position
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[db_position]') AND type IN ('U'))
    DROP TABLE [dbo].[db_position]
GO
CREATE TABLE [dbo].[db_position] (
  [id] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [position_level] char(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [position_salary] real DEFAULT 0 NULL,
  [position] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL
)
GO
ALTER TABLE [dbo].[db_position] SET (LOCK_ESCALATION = TABLE)
GO
-- ----------------------------
-- Table structure for db_staff
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[db_staff]') AND type IN ('U'))
    DROP TABLE [dbo].[db_staff]
GO
CREATE TABLE [dbo].[db_staff] (
  [id] char(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [name] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [sex] varchar(20) COLLATE Chinese_PRC_CI_AS  NULL,
  [age] int  NULL,
  [place] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [birth] datetime  NULL,
  [tel] varchar(50) COLLATE Chinese_PRC_CI_AS  NULL,
  [staff_department] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [staff_position] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [entry_time] datetime  NULL,
  [leave_time] datetime  NULL,
  [isdelete] varchar(10) COLLATE Chinese_PRC_CI_AS  NULL
)
GO
ALTER TABLE [dbo].[db_staff] SET (LOCK_ESCALATION = TABLE)
GO
 
-- ----------------------------
-- Table structure for db_user
-- ----------------------------
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[db_user]') AND type IN ('U'))
    DROP TABLE [dbo].[db_user]
GO
CREATE TABLE [dbo].[db_user] (
  [id] char(32) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [staff_name] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [user_account] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [user_password] varchar(50) COLLATE Chinese_PRC_CI_AS  NOT NULL,
  [creat_time] datetime  NOT NULL,
  [role_id] int  NOT NULL
)
GO
ALTER TABLE [dbo].[db_user] SET (LOCK_ESCALATION = TABLE)
GO
-- ----------------------------
-- Primary Key structure for table db_department
-- ----------------------------
ALTER TABLE [dbo].[db_department] ADD CONSTRAINT [PK__db_depar__3213E83F09B759E2] PRIMARY KEY CLUSTERED ([id])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
ON [PRIMARY]
GO
-- ----------------------------
-- Primary Key structure for table db_file
-- ----------------------------
ALTER TABLE [dbo].[db_file] ADD CONSTRAINT [PK__db_file__3213E83F09615A31] PRIMARY KEY CLUSTERED ([id])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
ON [PRIMARY]
GO
-- Primary Key structure for table db_interviewee
-- ----------------------------
ALTER TABLE [dbo].[db_interviewee] ADD CONSTRAINT [PK__db_inter__3213E83F7DB31B7E] PRIMARY KEY CLUSTERED ([id])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
ON [PRIMARY]
GO
-- ----------------------------
-- Primary Key structure for table db_position
-- ----------------------------
ALTER TABLE [dbo].[db_position] ADD CONSTRAINT [PK__db_posit__3213E83FCA3D5B20] PRIMARY KEY CLUSTERED ([id])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
ON [PRIMARY]
GO
-- ----------------------------
-- Primary Key structure for table db_staff
-- ----------------------------
ALTER TABLE [dbo].[db_staff] ADD CONSTRAINT [PK__db_staff__3213E83F739A3F95] PRIMARY KEY CLUSTERED ([id])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
ON [PRIMARY]
GO
-- ----------------------------
-- Primary Key structure for table db_user
-- ----------------------------
ALTER TABLE [dbo].[db_user] ADD CONSTRAINT [PK__db_user__3213E83F1A21E87A] PRIMARY KEY CLUSTERED ([id])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)  
ON [PRIMARY]
GO
-- ----------------------------
-- Foreign Keys structure for table db_file
-- ----------------------------
ALTER TABLE [dbo].[db_file] ADD CONSTRAINT [FK__db_file__post_st__00DF2177] FOREIGN KEY ([post_staff]) REFERENCES [dbo].[db_user] ([id]) ON DELETE NO ACTION ON UPDATE NO ACTION
GO
-- ----------------------------
-- Foreign Keys structure for table db_interviewee
-- ----------------------------
ALTER TABLE [dbo].[db_interviewee] ADD CONSTRAINT [FK__db_interview__id__03BB8E22] FOREIGN KEY ([id]) REFERENCES [dbo].[db_user] ([id]) ON DELETE CASCADE ON UPDATE CASCADE
GO


 
-- ----------------------------
-- Foreign Keys structure for table db_position
-- ----------------------------
ALTER TABLE [dbo].[db_position] ADD CONSTRAINT [FK__db_positi__posit__05A3D694] FOREIGN KEY ([position]) REFERENCES [dbo].[db_department] ([id]) ON DELETE NO ACTION ON UPDATE NO ACTION
GO

-- ----------------------------
-- Foreign Keys structure for table db_staff
-- ----------------------------
ALTER TABLE [dbo].[db_staff] ADD CONSTRAINT [FK__db_staff__id__04AFB25B] FOREIGN KEY ([id]) REFERENCES [dbo].[db_interviewee] ([id]) ON DELETE NO ACTION ON UPDATE NO ACTION
GO

ALTER TABLE [dbo].[db_staff] ADD CONSTRAINT [FK__db_staff__staff___7849DB76] FOREIGN KEY ([staff_position]) REFERENCES [dbo].[db_position] ([id]) ON DELETE NO ACTION ON UPDATE NO ACTION
GO

ALTER TABLE [dbo].[db_staff] ADD CONSTRAINT [FK__db_staff__staff___7C1A6C5A] FOREIGN KEY ([staff_department]) REFERENCES [dbo].[db_department] ([id]) ON DELETE NO ACTION ON UPDATE NO ACTION
GO

ALTER TABLE [dbo].[db_staff] ADD CONSTRAINT [FK__db_staff__id__7D0E9093] FOREIGN KEY ([id]) REFERENCES [dbo].[db_user] ([id]) ON DELETE NO ACTION ON UPDATE NO ACTION
GO

 2.编码规范定义:

名称

规范

常量名

全大写

魔法字(无意义的常量和变量)

不允许

变量名、方法名

驼峰命名规则

全局字符编码

utf8

表8          编码规范

3.界面设计:

    登录首页展示,(前端界面来自于网络)如图12:

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图12   页面设计

4.项目文件结构及说明

人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目

图13   项目文件结构

5.源程序代码

详见github仓库

https://github.com/whd1996/hrms文章来源地址https://www.toymoban.com/news/detail-485531.html

到了这里,关于人力资源管理系统(大二数据库课设) spring boot,Mybatis+bootstap,ajax项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包