1.概述
1.1开发环境
数据库工具:MySql workbench 8.0 CE,开发工具:IntelliJ IDEA 2020.3.2,开发环境:jdk11,tomcat6.5。
1.1相关技术介绍
1.1.1MVC
MVC 模式(Model–view–controller)是软件工程中的一种软件架构模式,它把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。

MVC 模式的目的是实现一种动态的程序设计,简化后续对程序的修改和扩展,并且使程序某一部分的重复利用成为可能。除此之外,MVC 模式通过对复杂度的简化,使程序的结构更加直观。软件系统在分离了自身的基本部分的同时,也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长进行相关的分组:
模型(Model):程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能);
控制器(Controller):负责转发请求,对请求进行处理;
视图(View):界面设计人员进行图形界面设计。

1.2 .2Tomcat
Tomcat是由Apache公司推出的一款免费开源Servlet容器,是配置JSP和JAVA系统必备的环境。Tomcat免费开放源代码,属于轻量级服务器。它在程序运行时占用系统资源少,可拓展,成本低,因而广受java爱好者的喜爱。

1.2.3 MySQL
MySQL是关系型数据库管理系统,由瑞典的MySQL AB公司开发,目前属于Oracle旗下产品。它是目前最流行的关系型数据库管理系统之一。使用是SQL语言。SQL语言用于访问数据库,开发者使用 C和 C++编写SQL语言,因此可移植性较高。因为放源码软件,能大大降低成本,所以受大众欢迎。

1.2需求说明
1.31 求职者功能需求
(1)登录注册:求职者可以进行注册和登录,注册时选择身份(求职者),注册成功后登录。
(2)求职管理功能:求职者注册账号后,完善求职信息,之后发布至平台,供公司HR查看选择录取,当有公司HR选择该求职者并发出Office时,可以选择合适的公司进行签约。也可以根据公司发出的招聘信息进行选择投递简历,以及查看删除自己所投递的公司信息。
(3)账号管理:可以对账号密码,姓名进行修改。
1.3.2 招聘者功能需求
(1)登录注册:招聘者可以选择身份(招聘者)进行注册登录。
(2)招聘者管理功能:招聘者登录后,可以添加公司招聘信息发布至平台,供求职者查看选择投递简历。招聘者也可以查看求职者求职信息进行选择发出工作邀请,或者是对求职者对本公司投递的简历进行选择签约录用。同时可以查看招聘者发出的邀请以及进行取消邀请。
(3)
账号管理:修改密码,姓名。

2.系统概要设计
2.1 系统流程

系统流程图

2.2系统的功能模块设计
功能模块

3.数据库设计与实现
3.1系统E—R图

3.2求职者管理模块E-R图

3.3招聘者管理模块E-R图

3.4逻辑结构设计
(1)数据库表设计
1.用户表
字段号 字段名称 字段类型 字段大小 索引 字段说明
1 Id int 11 主键 账号
2 name varchar 45 非空 用户名
3 password varchar 45 非空 密码
4 admain int 11 非空 身份

2.求职者信息表
字段号 字段名称 字段类型 字段大小 索引 字段说明
1 sid int 11 主键 求职者账号
2 sname varchar 45 非空 姓名
3 saddress varchar 45 非空 地址
4 sposition varchar 45 非空 职位
5 seducation varchar 45 非空 学历
6 sphone int 11 非空 联系电话
7 IDcard varchar 45 非空 身份证号

3.招聘者信息表
字段号 字段名称 字段类型 字段大小 索引 字段说明
1 eid int 11 主键 招聘者账号
2 ename varchar 45 非空 公司名称
3 contact varchar 45 非空 联系人
4 ephone int 11 非空 联系电话
5 reeducation varchar 45 非空 学历要求
6 reposition varchar 45 非空 职位要求
7 renumber int 11 非空 招聘人数

4.投递情况表
字段号 字段名称 字段类型 字段大小 索引 字段说明
1 Id int 11 主键 Id
2 sid int 11 外键 求职者账号
3 eid int 11 外键 招聘者账号
4 ename varchar 45 非空 公司名称
5 contact varchar 45 非空 联系人
6 ephone int 11 非空 联系电话
7 reeducation varchar 45 非空 学历要求
8 reposition varchar 45 非空 职位要求
9 renumber int 11 非空 招聘人数
10 ename varchar 45 非空 公司名称

5.工作邀请表
字段号 字段名称 字段类型 字段大小 索引 字段说明
1 Id int 11 主键 Id
2 sid int 11 外键 求职者账号
3 eid int 11 外键 招聘者账号
4 sname varchar 45 非空 招聘者姓名
5 saddress varchar 45 非空 地址
6 sposition varchar 45 非空 职位
7 seducation varchar 45 非空 学历
8 sphone int 11 非空 联系电话
9 IDcard varchar 45 非空 身份证号

6.签约情况表
字段号 字段名称 字段类型 字段大小 索引 字段说明
1 Id int 11 主键 Id
2 sid int 11 外键 求职者账号
3 eid int 11 外键 招聘者账号

3.5数据库物理设计与实施
1.创建数据库
CREATE DATABASE talentmarket;
2.创建表
1.2.1
用户表 CREATE TABLE user
求职者表 CREATE TABLE seeker
招聘者表 CREATE TABLE employer;
投递情况表CREATE TABLE delivery; 工作邀请表CREATE TABLEinvite;
签约表 CREATE TABLE signed
4.数据操作要求及实现
4.1数据查询操作
1.模糊查询
根据输入公司名模糊查询
select * from employer where ename ike?

2.指定查询
根据id指定查找
select * from employer where eid=?

4.2数据更新操作
根据id对数据库表某行进行更新
String sql = “update employer set name=?,contacter=?,phonenum=?,renumber=?,education=?,position=?where eid=?”;

4.3数据增加操作
insert into employer values ( ? , ? , ? , ? , ? , ?,? )

4.4数据删除操作
根据id进行定向删除
delete from employer where idemployer=?

3.系统详细设计与实现
4.1模式设计:
本次系统设计采用的是MVC,主要包括以下结构:

1.DAO层: 持久层 主要与数据库进行交互
(1)数据库连接:该系统采用的是jdbc数据库连接,,导入jdbc驱动包,使用java连接数据库进行操作。
(2)数据库操作:将数据库连接封装,调用数据库连接包,将数据库中各项信息的操作方法写入各个方法接口中。
2.Entity层(domain层) 实体层 数据库在项目中的类
对数据库各个实体类表进行实体类创建。
3.Service层(biz):业务层 控制业务
对通过调用DAO中的数据库操作方法对axtion层进行的操作进行控制返回。
4.Controller层:(action层) 控制层 控制业务逻辑
含有关于jsp的各种操作控制
5.View层
操作系统中各功能页面的jsp文件。
4.2功能模块:
(1)登录:根据输入的信息对数据库用户表进行查询返回,当信息匹配时进入对应页面。
public int Check ( int uid , String password) throws Exception ;
(2)注册:先对输入的信息对数据库用户表进行查找是否存在,不存在则插入用户信息。
public int Add ( User user ) throws Exception ;
stu.Add(user);
(3)招聘者对求职者信息查看,查询,发出邀请:查看:直接查询遍历所有求职信息,查询:根据输入的公司名字进行模糊查询,发出邀请:获取求职者信息和招聘者id进行数据库邀请表进行插入.
public List serchSeekerBySid( ) throws Exception ;
public Seeker SearchById ( int sid ) throws Exception ;
ft.Add(delivery);
ft.Add(invite);

(4)招聘信息查看,查询,投递简历:查看:直接查询遍历所有招聘信息,查询:根据输入的求职者信息进行模糊查询,投递简历:获取招聘信息信息和求职者id进行数据库投递表进行插入.和招聘者的类似。

(5).简历投递管理:先通过数据库查找表返回对应求职者或者招聘者id的投递信息,求职者可以进行取消投递,即删除该项数据。招聘者可以进行同意录用,即将该投递者的id绑定该公司id进行数据库签约表插入。
ft.Add(signed);
ft.DeleteById(id)

(6)工作邀请管理::先通过数据库查找表返回对应求职者或者招聘者id的邀请信息,招聘者可以进行取消邀请,即删除该项数据。求职者可以进行同意邀请,即将该邀请公司的id绑定该求职者id进行数据库签约表插入。
(7)用户信息管理:招聘者添加,修改招聘信息:求职者添加,修改求职信息。
public int Add ( Seeker seeker ) throws Exception ;
public int Change ( Seeker seeker ) throws Exception ;

5.系统的测试
登录:输入账号密码,点击登录对账号密码进行判定,用户不存在或密码错误弹出提示。

注册:点击“注册一个?”进入注册页面,输入账号,密码,姓名,选择身份,点击注册根据信息进行判断,密码是否一致,账号是否存在,是否选择是否进行判断。无误则注册成功,调至登录页面。

求职者管理:求职者可以选择不同页面进行操作,首页可进行招聘信息查看与简历投递。也可以点击按钮跳至投递页面进行查看和取消投递,邀请页面(查看邀请信息或拒绝选择进行拒绝邀请,同意邀请操作,签约信息页面(查看,取消),个人信息页面(查看修改信息)。或者直接点击退出系统。

个人信息管理:点击按钮进行数据修改。

招聘者管理:大致和求职者页面类似。

对于系统主要功能模块进行测试
6.小结
(1) 系统不足及改进
在对数据库进行设计的过程中,结构比较简单,不能够应对是否能复杂的情况,只能对简单信息进行操作。另外,在安全性方面做得也不够完善,主要原因在于设计的重点是功能的正常执行,而不是在每一个细节做到完美。因此,这个数据库系统需要我在以后的学习去完成每一个细节。

(2)设计心得
在设计数据库的过程中我遇到过非常多的问题:

首先,在设计阶段有非常多的数据项,当时觉得不好分类和处理,而且有很多的数据项和许多实体都有关系。最后通过查看课本例题,问同学等方式将各个数据项进行归类,对于和多个实体之间都有关系的数据项可以建立一个关系表,从而完成归类。

收获:对于一个系统,数据库的设计是非常重要的,数据库设计决定了以后数据好不好维护。后期需求好不好展。同时也决定了系统的性能。一个坏的数据库设计一个功能点的改动可能会设计多张表的改动。一不小心可能就会引起数据的不一致。为了解决这些问题。在数据库设计之初就要考虑这些问题。减少后期系统维护量。

1.参考书目

【1】作者.JavaWeb程序设计[第3版].版次(首次免注)
【2】数据库系统概论(第5版)
源码:https://gitee.com/buguhua/the-telent-management.git

数据库课程设计——人才市场管理系统相关推荐

  1. 查询学生选修课程管理系统java_JAVA数据库课程设计学生选课管理系统的

    <JAVA数据库课程设计学生选课管理系统的>由会员分享,可在线阅读,更多相关<JAVA数据库课程设计学生选课管理系统的(59页珍藏版)>请在人人文库网上搜索. 1.一.课程设计 ...

  2. 数据库课程设计-员工信息管理系统(基于python和MySQL实现)

    一.项目地址 具体项目相关信息可移步至我的Github查看,那里有整套项目文件以及课程设计报告等,仅供交流学习和参考,如有错误之处请多多指正哦. 二.系统定义 随着计算机技术的不断发展,计算机作为知识 ...

  3. java 数据库工资管理系统设计_数据库课程设计—企业工资管理系统(java版完整代码)...

    数据库课程设计-企业工资管理系统(java版完整代码) 数 据 库 课 程 设 计 报 告2016年 5月 20日 目 录企业工资管理系统姓 名 王 素 文班 级 软 133学 号 139074224 ...

  4. 计算机数据库课程设计,药品销售管理系统

    计算机数据库课程设计,药品销售管理系统 https://x-x.fun/i/Lb0b58c73eUr9

  5. oracle学生信息管理系统课程设计,数据库课程设计-学生信息管理系统的设计与实现.doc...

    数据库课程设计-学生信息管理系统的设计与实现 2011-2012课程设计II 学生信息管理系统的设计与实现 一 设计内容 建立一个简单的在校学生信息查询系统,可以让使用者查询到学生的一些简单的个人信息 ...

  6. 数据库课程设计超市信息管理系统

    目录 一.需求分析 1.系统需求分析描述 1.1.1系统需求说明: 1.1.2系统可行性分析: 1.1.3系统应用范围: 2.系统功能结构图 3.业务流程图 二.概念结构设计 1.实体描述 2.局部E ...

  7. 数据库课程设计——图书管理管理系统(一)

    数据库课程设计--图书馆管理系统(一) 1.需求分析 系统的设计目标: Library系统(图书管理系统)是通过本系统软件,能帮助图书馆管理人员利用计算机,快速方便地对图书馆书籍,读者资料,借还书等进 ...

  8. 数据库课程设计--高校机房管理系统

    数据库课程设计--题目:机房管理系统   (cs架构)前端 jsp+easyui 后端 java+mysql 环境: Myeclipse 2016-cI-3 mysql-installer-commu ...

  9. 数据库课程设计(乐队管理系统)实现增删改查权限设置MVC

    为什么要做这个系统呢 这是一个数据库课程设计完成的作品 名字叫做Rainmaple乐队管理系统 首页部分 各种权限用户均可查看 - 简单的轮播 旗下的乐队信息(从数据库中读取) 后台部分 后台入口 简 ...

  10. 手把手带你完成数据库课程设计(餐饮管理系统)

    期末快到了,不知道各位小伙伴有没有在为自己的课程设计还没完成而发愁,不用担心,这篇文章将手把手带你完成一个餐饮管理系统. 1.顾客点餐部分 1.1界面部分 1.1收集顾客信息 这里收集到了顾客的电话和 ...

最新文章

  1. 「GNN,简直太烂了」,一位Reddit网友的深度分析火了
  2. python 双冒号
  3. python多线程坑_python多线程的坑
  4. k8s kubesphere安装在k8s中的基础环境准备(前提条件)
  5. Qt Creator在属性之间添加绑定
  6. The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
  7. vue --- 2.0响应式补充
  8. 只腐蚀毛刺 腐蚀算法_图像的腐蚀 膨胀及细化
  9. 据说有99%的人都会做错的面试题
  10. 模拟栈数据结构改进版(使用异常)
  11. python的列表就是数组吗_python中list和数组的区别是什么?
  12. 7_python基础—while循环应用1-100累加和
  13. 邮件中html格式转换,如何在宏中将邮件格式更改为html?
  14. 计算机信息安全专业代码0839,(0839)网络空间安全一级学科硕士研究生培养方案...
  15. 人脸识别,人脸识别门禁系统的原理
  16. 联想拯救者R7000_2020款黑屏解决方案
  17. pads layout查看管脚连接
  18. SpringBoot的优点
  19. 【Java】插入排序、希尔排序详解
  20. (一百三十五)Android O探索WLAN扫描(WIFI SCAN ALWAYS)

热门文章

  1. linux脚本自动 输入命令,Linux脚本自动输入密码
  2. C#随机生成信用卡卡号的源码
  3. 2020美赛结果查询
  4. 概率论入门:概率分布
  5. AWVS 13 Docker版本(破解后)
  6. Java后端开发实习面试
  7. Qt 中利用 GNU barcode 生成一维条形码
  8. 微信淘宝客小程序APP公众号京东客外卖cps分销系统网站源码开发
  9. C4D快速入门教程——可编辑模式
  10. 2019年PMP考试模拟题(附答案解析)