2024Java最新计算机毕业设计 基于SSM的大学生勤工俭学管理系统 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————
计算机毕业设计《1000套》

目录

1、项目介绍及开发技术

1.1 项目介绍

1.2 开发技术

2、系统功能设计结构图

3、功能截图

4、数据库表结构设计

5、关键代码

5.1 学生管理Controller模块 

5.2 学生管理Service模块 

5.3 学生管理ServiceImpl模块

5.4 学生管理Dao模块

6、论文目录结构

7、源码获取


1、项目介绍及开发技术

1.1 项目介绍

现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本大学生勤工助学管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此大学生勤工助学管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。

1.2 开发技术

Java开发语言、SSM、MyBatisPlus、MySQL数据库、Maven、IDEA开发工具、JDK1.8+、Vue、HTML、CSS、JS。

2、系统功能设计结构图

3、功能截图

首页

个人中心

兼职报名

面试管理

 薪资管理

招聘信息管理

职位招聘管理

公告信息管理

4、数据库表结构设计

CREATE TABLE `config` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) DEFAULT NULL COMMENT '配置参数名称',
  `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';

/*Data for the table `config` */

insert  into `config`(`id`,`name`,`value`) values (1,'轮播图1挂号第三个第三个','upload/config1.jpg'),(2,'轮播图2','upload/config2.jpg'),(3,'轮播图3','upload/config3.jpg');

/*Table structure for table `dictionary` */

DROP TABLE IF EXISTS `dictionary`;

CREATE TABLE `dictionary` (
  `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `dic_code` varchar(200) DEFAULT NULL COMMENT '字段',
  `dic_name` varchar(200) DEFAULT NULL COMMENT '字段名',
  `code_index` int(11) DEFAULT NULL COMMENT '编码',
  `index_name` varchar(200) DEFAULT NULL COMMENT '编码名字  Search111 ',
  `super_id` int(11) DEFAULT NULL COMMENT '父字段id',
  `beizhu` varchar(200) DEFAULT NULL COMMENT '备注',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT='字典表';

/*Data for the table `dictionary` */

insert  into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`beizhu`,`create_time`) values (4,'zhaopin_types','招聘岗位',1,'招聘岗位1',NULL,NULL,'2023-05-04 11:41:19'),(5,'zhaopin_types','招聘岗位',2,'招聘岗位2',NULL,NULL,'2023-05-04 11:41:19'),(6,'zhaopin_types','招聘岗位',3,'招聘岗位3',NULL,NULL,'2023-05-04 11:41:19'),(7,'shangxia_types','是否上架',1,'上架',NULL,NULL,'2023-05-04 11:41:19'),(8,'shangxia_types','是否上架',2,'下架',NULL,NULL,'2023-05-04 11:41:19'),(9,'sex_types','性别',1,'男',NULL,NULL,'2023-05-04 11:41:19'),(10,'sex_types','性别',2,'女',NULL,NULL,'2023-05-04 11:41:19'),(13,'news_types','公告信息类型',1,'公告信息类型1',NULL,NULL,'2023-05-04 11:41:19'),(14,'news_types','公告信息类型',2,'公告信息类型2',NULL,NULL,'2023-05-04 11:41:19'),(15,'news_types','公告信息类型',3,'公告信息类型3',NULL,NULL,'2023-05-04 11:41:19'),(17,'zhaopin_yuyue_yesno_types','报名状态',1,'未回复',NULL,NULL,'2023-05-04 11:41:19'),(18,'zhaopin_yuyue_yesno_types','报名状态',2,'通过报名',NULL,NULL,'2023-05-04 11:41:19'),(19,'zhaopin_yuyue_yesno_types','报名状态',3,'拒绝',NULL,NULL,'2023-05-04 11:41:19'),(20,'yuanxi_types','院系',2,'院系1',NULL,NULL,'2023-05-04 11:41:19'),(21,'yuanxi_types','院系',3,'院系2',NULL,NULL,'2023-05-04 11:41:19'),(22,'zhuanye_types','专业',2,'专业1',NULL,NULL,'2023-05-04 11:41:19'),(23,'zhuanye_types','专业',3,'专业2',NULL,NULL,'2023-05-04 11:41:19'),(24,'zhuanye_types','专业',4,'专业3',NULL,NULL,'2023-05-04 11:41:19'),(25,'zhuanye_types','专业',5,'专业4',NULL,NULL,'2023-05-04 11:41:19'),(26,'nianji_types','年级',2,'大一',NULL,NULL,'2023-05-04 11:41:19'),(27,'nianji_types','年级',3,'大二',NULL,NULL,'2023-05-04 11:41:19'),(28,'nianji_types','年级',4,'大三',NULL,NULL,'2023-05-04 11:41:19'),(29,'nianji_types','年级',5,'大四',NULL,NULL,'2023-05-04 11:41:19'),(30,'gongsi_types','用工部门类型',1,'用工部门类型1',NULL,NULL,'2023-05-04 11:41:19'),(31,'gongsi_types','用工部门类型',2,'用工部门类型2',NULL,NULL,'2023-05-04 11:41:19'),(32,'gongsi_types','用工部门类型',3,'用工部门类型3',NULL,NULL,'2023-05-04 11:41:19'),(33,'zhaopin_collection_types','收藏表类型',1,'收藏',NULL,NULL,'2023-05-04 11:41:19'),(34,'mianshijilu_types','面试结果',1,'通过面试',NULL,NULL,'2023-05-04 11:41:19'),(35,'mianshijilu_types','面试结果',2,'没通过面试',NULL,NULL,'2023-05-04 11:41:19'),(36,'yuanxi_types','院系',4,'院系3',NULL,'','2023-05-04 13:22:59');

/*Table structure for table `gongsi` */

DROP TABLE IF EXISTS `gongsi`;

CREATE TABLE `gongsi` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `username` varchar(200) DEFAULT NULL COMMENT '账户 ',
  `password` varchar(200) DEFAULT NULL COMMENT '密码 ',
  `gongsi_name` varchar(200) DEFAULT NULL COMMENT '用工部门名称 Search111 ',
  `gongsi_types` int(11) DEFAULT NULL COMMENT '用工部门类型',
  `gongsi_phone` varchar(200) DEFAULT NULL COMMENT '联系方式',
  `gongsi_email` varchar(200) DEFAULT NULL COMMENT '邮箱',
  `gongsi_photo` varchar(200) DEFAULT NULL COMMENT '用工部门封面',
  `gongsi_content` text COMMENT '用工部门介绍 ',
  `gongsi_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 photoShow ',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='用工部门';

/*Data for the table `gongsi` */

insert  into `gongsi`(`id`,`username`,`password`,`gongsi_name`,`gongsi_types`,`gongsi_phone`,`gongsi_email`,`gongsi_photo`,`gongsi_content`,`gongsi_delete`,`create_time`) values (1,'a1','123456','用工部门名称1',3,'17703786901','1@qq.com','upload/gongsi1.jpg','用工部门介绍1',1,'2023-05-04 11:41:39'),(2,'a2','123456','用工部门名称2',1,'17703786902','2@qq.com','upload/gongsi2.jpg','用工部门介绍2',1,'2023-05-04 11:41:39'),(3,'a3','123456','用工部门名称3',3,'17703786903','3@qq.com','upload/gongsi3.jpg','用工部门介绍3',1,'2023-05-04 11:41:39');


/*Table structure for table `token` */

DROP TABLE IF EXISTS `token`;

CREATE TABLE `token` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `userid` bigint(20) NOT NULL COMMENT '学生id',
  `username` varchar(100) NOT NULL COMMENT '学生名',
  `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
  `role` varchar(100) DEFAULT NULL COMMENT '角色',
  `token` varchar(200) NOT NULL COMMENT '密码',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='token表';

/*Data for the table `token` */

insert  into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (1,1,'admin','users','管理员','be4ffkmic50wf5q8zssozyk3xpsxyr2m','2023-05-04 11:55:51','2023-05-04 14:22:21'),(2,1,'a1','yonghu','学生','6y7ngwe2x56laddnwoknmf2qntrvo5qm','2023-05-04 13:01:18','2023-05-04 14:20:21'),(3,1,'a1','gongsi','用工部门','i3slnrn6uwq07tx3i2mffg4ldkndocta','2023-05-04 13:15:27','2023-05-04 14:20:35'),(4,4,'a5','yonghu','学生','gq1kcex8fe5p58zjajh9b7d14lkoel8p','2023-05-04 13:18:56','2023-05-04 14:18:56');

/*Table structure for table `users` */

DROP TABLE IF EXISTS `users`;

CREATE TABLE `users` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(100) NOT NULL COMMENT '学生名',
  `password` varchar(100) NOT NULL COMMENT '密码',
  `role` varchar(100) DEFAULT '管理员' COMMENT '角色',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='管理员';

/*Data for the table `users` */

insert  into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'admin','admin','管理员','2023-05-04 11:41:18');

/*Table structure for table `xinzi` */

DROP TABLE IF EXISTS `xinzi`;

CREATE TABLE `xinzi` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `gongsi_id` int(11) DEFAULT NULL COMMENT '用工部门',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
  `xinzi_uuid_number` varchar(200) DEFAULT NULL COMMENT '薪资编号 Search111 ',
  `xinzi_month` varchar(200) DEFAULT NULL COMMENT '月份 Search111 ',
  `jiben_jine` decimal(10,2) DEFAULT NULL COMMENT '基本工资',
  `jiangjin_jine` decimal(10,2) DEFAULT NULL COMMENT '奖金',
  `jixiao_jine` decimal(10,2) DEFAULT NULL COMMENT '绩效',
  `butie_jine` decimal(10,2) DEFAULT NULL COMMENT '补贴',
  `shifa_jine` decimal(10,2) DEFAULT NULL COMMENT '实发',
  `xinzi_content` longtext COMMENT '备注 ',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '添加时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show3 listShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='薪资';

/*Data for the table `xinzi` */

insert  into `xinzi`(`id`,`gongsi_id`,`yonghu_id`,`xinzi_uuid_number`,`xinzi_month`,`jiben_jine`,`jiangjin_jine`,`jixiao_jine`,`butie_jine`,`shifa_jine`,`xinzi_content`,`insert_time`,`create_time`) values (1,2,3,'1683171699347','月份1','164.40','91.93','281.00','133.14','869.92','备注1','2023-05-04 11:41:39','2023-05-04 11:41:39'),(2,3,2,'1683171699302','月份2','608.12','235.87','397.75','873.56','574.61','备注2','2023-05-04 11:41:39','2023-05-04 11:41:39'),(3,3,1,'1683171699328','月份3','37.13','704.88','198.95','496.70','406.19','备注3','2023-05-04 11:41:39','2023-05-04 11:41:39'),(4,1,2,'1683171699289','月份4','755.81','691.61','112.28','999.23','350.96','备注4','2023-05-04 11:41:39','2023-05-04 11:41:39'),(5,3,3,'1683171699350','月份5','455.52','435.06','680.44','192.02','350.23','备注5','2023-05-04 11:41:39','2023-05-04 11:41:39'),(6,2,1,'1683171699360','月份6','626.34','915.63','776.78','602.05','297.65','备注6','2023-05-04 11:41:39','2023-05-04 11:41:39'),(7,1,1,'1683171699329','月份7','751.80','280.44','545.65','702.88','842.14','备注7','2023-05-04 11:41:39','2023-05-04 11:41:39'),(8,3,1,'1683171699293','月份8','483.62','790.66','842.35','193.82','583.14','备注8','2023-05-04 11:41:39','2023-05-04 11:41:39'),(9,1,1,'1683171699338','月份9','478.82','688.80','545.05','16.30','440.09','备注9','2023-05-04 11:41:39','2023-05-04 11:41:39'),(10,1,1,'1683171699331','月份10','815.88','482.15','779.11','494.43','366.56','备注10','2023-05-04 11:41:39','2023-05-04 11:41:39'),(11,3,2,'1683171699308','月份11','144.42','896.28','229.91','796.60','923.92','备注11','2023-05-04 11:41:39','2023-05-04 11:41:39'),(12,3,1,'1683171699372','月份12','34.44','869.34','653.64','319.05','165.58','备注12','2023-05-04 11:41:39','2023-05-04 11:41:39'),(13,3,1,'1683171699301','月份13','910.31','339.71','306.75','919.83','81.36','备注13','2023-05-04 11:41:39','2023-05-04 11:41:39'),(14,3,1,'1683171699371','月份14','375.40','758.80','971.99','680.15','887.90','备注14','2023-05-04 11:41:39','2023-05-04 11:41:39'),(15,1,4,'1683177640564','2023-05','555.00','666.00','777.00','222.00','2220.00','<p>广东省广东省固定事故</p>','2023-05-04 13:20:54','2023-05-04 13:20:54'),(16,1,3,'1683177659386','2023-05','999.00','333.00','666.00','1011.00','3009.00','<p>挂号第三个第三个是</p>','2023-05-04 13:21:16','2023-05-04 13:21:16');

/*Table structure for table `yonghu` */

DROP TABLE IF EXISTS `yonghu`;

CREATE TABLE `yonghu` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(200) DEFAULT NULL COMMENT '账户',
  `password` varchar(200) DEFAULT NULL COMMENT '密码',
  `yonghu_name` varchar(200) DEFAULT NULL COMMENT '学生姓名 Search111 ',
  `yonghu_photo` varchar(255) DEFAULT NULL COMMENT '头像',
  `yonghu_phone` varchar(200) DEFAULT NULL COMMENT '学生手机号',
  `yonghu_id_number` varchar(200) DEFAULT NULL COMMENT '学生身份证号 ',
  `yonghu_email` varchar(200) DEFAULT NULL COMMENT '邮箱',
  `sex_types` int(11) DEFAULT NULL COMMENT '性别 Search111 ',
  `yuanxi_types` int(11) DEFAULT NULL COMMENT '院系 Search111 ',
  `zhuanye_types` int(11) DEFAULT NULL COMMENT '专业 Search111 ',
  `nianji_types` int(11) DEFAULT NULL COMMENT '年级 Search111 ',
  `yonghu_delete` int(11) DEFAULT '1' COMMENT '假删',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='学生';

/*Data for the table `yonghu` */

insert  into `yonghu`(`id`,`username`,`password`,`yonghu_name`,`yonghu_photo`,`yonghu_phone`,`yonghu_id_number`,`yonghu_email`,`sex_types`,`yuanxi_types`,`zhuanye_types`,`nianji_types`,`yonghu_delete`,`create_time`) values (1,'a1','123456','学生姓名1','upload/yonghu1.jpg','17703786901','410224199010102001','1@qq.com',2,2,2,2,1,'2023-05-04 11:41:39'),(2,'a2','123456','学生姓名2','upload/yonghu2.jpg','17703786902','410224199010102002','2@qq.com',1,3,3,3,1,'2023-05-04 11:41:39'),(3,'a3','123456','学生姓名3','upload/yonghu3.jpg','17703786903','410224199010102003','3@qq.com',2,2,4,3,1,'2023-05-04 11:41:39'),(4,'a5','123456','张5','upload/1683177605220.jpg','17788889999','444222666699998887','5@qq.com',1,2,4,4,1,'2023-05-04 13:18:48');

/*Table structure for table `zhaopin` */

DROP TABLE IF EXISTS `zhaopin`;

CREATE TABLE `zhaopin` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `gongsi_id` int(11) DEFAULT NULL COMMENT '用工部门',
  `zhaopin_name` varchar(200) DEFAULT NULL COMMENT '招聘信息名称  Search111 ',
  `zhaopin_photo` varchar(200) DEFAULT NULL COMMENT '招聘信息照片',
  `zhaopin_daiyu` varchar(200) DEFAULT NULL COMMENT '薪资待遇',
  `zhaopin_address` varchar(200) DEFAULT NULL COMMENT '上班地点',
  `lianxiren_name` varchar(200) DEFAULT NULL COMMENT '联系人',
  `zhaopin_phone` varchar(200) DEFAULT NULL COMMENT '招聘电话',
  `zhaopin_types` int(11) DEFAULT NULL COMMENT '招聘岗位 Search111',
  `zhaopin_renshu_number` int(11) DEFAULT NULL COMMENT '招聘人数',
  `shangxia_types` int(11) DEFAULT NULL COMMENT '是否上架 ',
  `zhaopin_content` text COMMENT '招聘岗位详情',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='职位招聘';

DROP TABLE IF EXISTS `zhaopin_liuyan`;

CREATE TABLE `zhaopin_liuyan` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `zhaopin_id` int(11) DEFAULT NULL COMMENT '职位',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
  `zhaopin_liuyan_text` text COMMENT '留言内容',
  `reply_text` text COMMENT '回复内容',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '留言时间',
  `update_time` timestamp NULL DEFAULT NULL COMMENT '回复时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 listShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='职位留言';

/*Data for the table `zhaopin_liuyan` */

insert  into `zhaopin_liuyan`(`id`,`zhaopin_id`,`yonghu_id`,`zhaopin_liuyan_text`,`reply_text`,`insert_time`,`update_time`,`create_time`) values (1,1,1,'留言内容1','回复信息1','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(2,2,2,'留言内容2','回复信息2','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(3,3,1,'留言内容3','回复信息3','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(4,4,3,'留言内容4','回复信息4','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(5,5,2,'留言内容5','回复信息5','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(6,6,1,'留言内容6','回复信息6','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(7,7,1,'留言内容7','回复信息7','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(8,8,3,'留言内容8','回复信息8','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(9,9,3,'留言内容9','回复信息9','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(10,10,1,'留言内容10','回复信息10','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(11,11,1,'留言内容11','回复信息11','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(12,12,3,'留言内容12','回复信息12','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(13,13,3,'留言内容13','回复信息13','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(14,14,2,'留言内容14','回复信息14','2023-05-04 11:41:39','2023-05-04 11:41:39','2023-05-04 11:41:39'),(15,14,4,'hgdfssdh孤独颂歌','核对算得上是','2023-05-04 13:19:19','2023-05-04 13:21:44','2023-05-04 13:19:19');

/*Table structure for table `zhaopin_yuyue` */

DROP TABLE IF EXISTS `zhaopin_yuyue`;

CREATE TABLE `zhaopin_yuyue` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '学生',
  `zhaopin_id` int(11) DEFAULT NULL COMMENT '招聘',
  `zhaopin_yuyue_text` text COMMENT '备注',
  `zhaopin_yuyue_yesno_types` int(11) DEFAULT NULL COMMENT '报名状态 Search111',
  `zhaopin_yuyue_yesno_text` text COMMENT '回复',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '投递时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 listShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 COMMENT='兼职报名';

/*Data for the table `zhaopin_yuyue` */

insert  into `zhaopin_yuyue`(`id`,`yonghu_id`,`zhaopin_id`,`zhaopin_yuyue_text`,`zhaopin_yuyue_yesno_types`,`zhaopin_yuyue_yesno_text`,`insert_time`,`create_time`) values (1,1,1,'备注1',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(2,3,2,'备注2',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(3,2,3,'备注3',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(4,2,4,'备注4',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(5,1,5,'备注5',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(6,1,6,'备注6',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(7,2,7,'备注7',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(8,1,8,'备注8',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(9,3,9,'备注9',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(10,2,10,'备注10',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(11,1,11,'备注11',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(12,2,12,'备注12',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(13,1,13,'备注13',1,NULL,'2023-05-04 11:41:39','2023-05-04 11:41:39'),(14,2,14,'备注14',2,'给大哥大哥当','2023-05-04 11:41:39','2023-05-04 11:41:39'),(29,1,11,'广东省是个第三个十多个',1,NULL,'2023-05-04 13:07:08','2023-05-04 13:07:08'),(30,4,14,'是的公司大概多少',2,'个第三个第三个','2023-05-04 13:19:26','2023-05-04 13:19:26'),(31,4,11,'和广东省第三个是的话',1,NULL,'2023-05-04 13:19:54','2023-05-04 13:19:54');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

5、关键代码

5.1 学生管理Controller模块 

package com.controller;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.XueshengEntity;
import com.entity.view.XueshengView;

import com.service.XueshengService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;

/**
 * 学生
 * 后端接口
 * @author 
 * @email 
 * @date 
 */
@RestController
@RequestMapping("/xuesheng")
public class XueshengController {
    @Autowired
    private XueshengService xueshengService;

	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		XueshengEntity u = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xueshengzhanghao", username));
		if(u==null || !u.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		
		String token = tokenService.generateToken(u.getId(), username,"xuesheng",  "学生" );
		return R.ok().put("token", token);
	}

	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody XueshengEntity xuesheng){
    	//ValidatorUtils.validateEntity(xuesheng);
    	XueshengEntity u = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xueshengzhanghao", xuesheng.getXueshengzhanghao()));
		if(u!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		xuesheng.setId(uId);
        xueshengService.insert(xuesheng);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        XueshengEntity u = xueshengService.selectById(id);
        return R.ok().put("data", u);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	XueshengEntity u = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xueshengzhanghao", username));
    	if(u==null) {
    		return R.error("账号不存在");
    	}
        u.setMima("123456");
        xueshengService.updateById(u);
        return R.ok("密码已重置为:123456");
    }

    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,XueshengEntity xuesheng,
		HttpServletRequest request){
        EntityWrapper<XueshengEntity> ew = new EntityWrapper<XueshengEntity>();

		PageUtils page = xueshengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuesheng), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,XueshengEntity xuesheng, 
		HttpServletRequest request){
        EntityWrapper<XueshengEntity> ew = new EntityWrapper<XueshengEntity>();

		PageUtils page = xueshengService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xuesheng), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( XueshengEntity xuesheng){
       	EntityWrapper<XueshengEntity> ew = new EntityWrapper<XueshengEntity>();
      	ew.allEq(MPUtil.allEQMapPre( xuesheng, "xuesheng")); 
        return R.ok().put("data", xueshengService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(XueshengEntity xuesheng){
        EntityWrapper< XueshengEntity> ew = new EntityWrapper< XueshengEntity>();
 		ew.allEq(MPUtil.allEQMapPre( xuesheng, "xuesheng")); 
		XueshengView xueshengView =  xueshengService.selectView(ew);
		return R.ok("查询学生成功").put("data", xueshengView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        XueshengEntity xuesheng = xueshengService.selectById(id);
        return R.ok().put("data", xuesheng);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        XueshengEntity xuesheng = xueshengService.selectById(id);
        return R.ok().put("data", xuesheng);
    }
    
    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){
    	xuesheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(xuesheng);
    	XueshengEntity u = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xueshengzhanghao", xuesheng.getXueshengzhanghao()));
		if(u!=null) {
			return R.error("用户已存在");
		}
		xuesheng.setId(new Date().getTime());
        xueshengService.insert(xuesheng);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){
    	xuesheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(xuesheng);
    	XueshengEntity u = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("xueshengzhanghao", xuesheng.getXueshengzhanghao()));
		if(u!=null) {
			return R.error("用户已存在");
		}
		xuesheng.setId(new Date().getTime());
        xueshengService.insert(xuesheng);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    public R update(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){
        //ValidatorUtils.validateEntity(xuesheng);
        xueshengService.updateById(xuesheng);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        xueshengService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<XueshengEntity> wrapper = new EntityWrapper<XueshengEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = xueshengService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
}

5.2 学生管理Service模块 

package com.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.XueshengkaoqinEntity;
import java.util.List;
import java.util.Map;
import com.entity.vo.XueshengkaoqinVO;
import org.apache.ibatis.annotations.Param;
import com.entity.view.XueshengkaoqinView;

/**
 * 学生考勤
 *
 * @author 
 * @email 
 * @date 
 */
public interface XueshengkaoqinService extends IService<XueshengkaoqinEntity> {

    PageUtils queryPage(Map<String, Object> params);
    
   	List<XueshengkaoqinVO> selectListVO(Wrapper<XueshengkaoqinEntity> wrapper);
   	
   	XueshengkaoqinVO selectVO(@Param("ew") Wrapper<XueshengkaoqinEntity> wrapper);
   	
   	List<XueshengkaoqinView> selectListView(Wrapper<XueshengkaoqinEntity> wrapper);
   	
   	XueshengkaoqinView selectView(@Param("ew") Wrapper<XueshengkaoqinEntity> wrapper);
   	
   	PageUtils queryPage(Map<String, Object> params,Wrapper<XueshengkaoqinEntity> wrapper);
   	
    List<Map<String, Object>> selectValue(Map<String, Object> params,Wrapper<XueshengkaoqinEntity> wrapper);

    List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params,Wrapper<XueshengkaoqinEntity> wrapper);

    List<Map<String, Object>> selectGroup(Map<String, Object> params,Wrapper<XueshengkaoqinEntity> wrapper);

}

5.3 学生管理ServiceImpl模块

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.XueshengkaoqinDao;
import com.entity.XueshengkaoqinEntity;
import com.service.XueshengkaoqinService;
import com.entity.vo.XueshengkaoqinVO;
import com.entity.view.XueshengkaoqinView;

@Service("xueshengkaoqinService")
public class XueshengkaoqinServiceImpl extends ServiceImpl<XueshengkaoqinDao, XueshengkaoqinEntity> implements XueshengkaoqinService {
	
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        Page<XueshengkaoqinEntity> page = this.selectPage(
                new Query<XueshengkaoqinEntity>(params).getPage(),
                new EntityWrapper<XueshengkaoqinEntity>()
        );
        return new PageUtils(page);
    }
    
    @Override
	public PageUtils queryPage(Map<String, Object> params, Wrapper<XueshengkaoqinEntity> wrapper) {
		  Page<XueshengkaoqinView> page =new Query<XueshengkaoqinView>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
 	}
    
    @Override
	public List<XueshengkaoqinVO> selectListVO(Wrapper<XueshengkaoqinEntity> wrapper) {
 		return baseMapper.selectListVO(wrapper);
	}
	
	@Override
	public XueshengkaoqinVO selectVO(Wrapper<XueshengkaoqinEntity> wrapper) {
 		return baseMapper.selectVO(wrapper);
	}
	
	@Override
	public List<XueshengkaoqinView> selectListView(Wrapper<XueshengkaoqinEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

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

    @Override
    public List<Map<String, Object>> selectValue(Map<String, Object> params, Wrapper<XueshengkaoqinEntity> wrapper) {
        return baseMapper.selectValue(params, wrapper);
    }

    @Override
    public List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params, Wrapper<XueshengkaoqinEntity> wrapper) {
        return baseMapper.selectTimeStatValue(params, wrapper);
    }

    @Override
    public List<Map<String, Object>> selectGroup(Map<String, Object> params, Wrapper<XueshengkaoqinEntity> wrapper) {
        return baseMapper.selectGroup(params, wrapper);
    }

}

5.4 学生管理Dao模块

package com.dao;

import com.entity.XueshengEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;

import org.apache.ibatis.annotations.Param;
import com.entity.vo.XueshengVO;
import com.entity.view.XueshengView;

/**
 * 学生
 * 
 * @author 
 * @email 
 * @date 
 */
public interface XueshengDao extends BaseMapper<XueshengEntity> {
	
	List<XueshengVO> selectListVO(@Param("ew") Wrapper<XueshengEntity> wrapper);
	
	XueshengVO selectVO(@Param("ew") Wrapper<XueshengEntity> wrapper);
	
	List<XueshengView> selectListView(@Param("ew") Wrapper<XueshengEntity> wrapper);

	List<XueshengView> selectListView(Pagination page,@Param("ew") Wrapper<XueshengEntity> wrapper);
	
	XueshengView selectView(@Param("ew") Wrapper<XueshengEntity> wrapper);
	
}

6、论文目录结构

7、源码获取

感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!

喜欢文章可以点赞、收藏、关注、评论

获取源码请私信

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值