Java毕业设计-基于SSM框架的高校毕业生就业管理系统项目实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:Java毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

🎀 Python毕业设计
🌎微信小程序毕业设计

开发环境

  • 开发语言:Java
  • 框架:ssm
  • JDK版本:JDK1.8
  • 服务器:tomcat7
  • 数据库:mysql 5.7
  • 数据库工具:Navicat12
  • 开发软件:eclipse/myeclipse/idea
  • Maven包:Maven3.3.9
  • 浏览器:谷歌浏览器

源码下载地址:

https://download.csdn.net/download/2301_76953549/89298842

论文目录

【如需全文请按文末获取联系】
在这里插入图片描述
在这里插入图片描述

一、项目简介

本次开发一套高校毕业生就业管理系统有管理员,学生,用人单位三个角色。管理员功能有个人中心,学生管理,用人单位管理,就业信息管理,岗位信息管理,未就业管理,招聘信息管理,就业派遣管理,学生就业反馈管理,用人单位反馈管理。用人单位可以修改个人信息,发布招聘岗位,对就业信息里面进行就业派遣,并且添加用人单位反馈信息。学生可以修改个人信息,添加就业信息,添加未就业信息,查看招聘信息,查看就业派遣,提交学生就业反馈信息。高校毕业生就业管理系统服务端用Java开发,用SSM框架开发的网站后台,数据库用到了MySQL数据库作为数据的存储。

二、系统设计

2.1软件功能模块设计

在管理员功能模块确定下来的基础上,绘制的功能结构见下图。
在这里插入图片描述

2.2数据库设计

(1)管理员实体属性图通过Visio工具绘制,绘制结果展示如下:
在这里插入图片描述
(2)学生实体属性图通过Visio工具绘制,绘制结果展示如下:
在这里插入图片描述

(3)用人单位实体属性图通过Visio工具绘制,绘制结果展示如下:
在这里插入图片描述

三、系统项目部分截图

3.1管理员功能实现

学生管理
管理员可以对学生信息进行添加,修改,删除,查询操作。
在这里插入图片描述
用人单位管理
管理员可以对用人单位信息进行添加,修改,删除,查询操作。
在这里插入图片描述

3.2用人单位功能实现

招聘信息管理
用人单位可以对招聘信息进行添加,修改,删除,查询操作。
在这里插入图片描述
就业派遣管理
用人单位可以对学生提交的就业信息进行就业派遣操作。
在这里插入图片描述
用人单位反馈管理
用人单位可以在用人单位反馈信息里面进行添加,修改,删除,查询操作。
在这里插入图片描述

3.3学生功能实现

就业信息管理
学生可以对自己的就业信息进行添加,修改,删除,查询操作。
在这里插入图片描述
未就业管理
学生可以对自己的未就业信息进行添加,修改,删除,查询操作。
在这里插入图片描述
学生就业反馈
学生可以对自己的学生就业反馈信息进行添加,修改,删除,查询操作。
在这里插入图片描述

四、部分核心代码

package com.controller;

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.WeijiuyeEntity;
import com.entity.view.WeijiuyeView;

import com.service.WeijiuyeService;
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 2022-05-07 10:33:41
 */
@RestController
@RequestMapping("/weijiuye")
public class WeijiuyeController {
    @Autowired
    private WeijiuyeService weijiuyeService;



    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,WeijiuyeEntity weijiuye, 
		HttpServletRequest request){

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			weijiuye.setXuehao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<WeijiuyeEntity> ew = new EntityWrapper<WeijiuyeEntity>();
    	PageUtils page = weijiuyeService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, weijiuye), params), params));
		request.setAttribute("data", page);
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,WeijiuyeEntity weijiuye, 
		HttpServletRequest request){
        EntityWrapper<WeijiuyeEntity> ew = new EntityWrapper<WeijiuyeEntity>();
    	PageUtils page = weijiuyeService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, weijiuye), params), params));
		request.setAttribute("data", page);
        return R.ok().put("data", page);
    }

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(WeijiuyeEntity weijiuye){
        EntityWrapper< WeijiuyeEntity> ew = new EntityWrapper< WeijiuyeEntity>();
 		ew.allEq(MPUtil.allEQMapPre( weijiuye, "weijiuye")); 
		WeijiuyeView weijiuyeView =  weijiuyeService.selectView(ew);
		return R.ok("查询未就业成功").put("data", weijiuyeView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        WeijiuyeEntity weijiuye = weijiuyeService.selectById(id);
        return R.ok().put("data", weijiuye);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        WeijiuyeEntity weijiuye = weijiuyeService.selectById(id);
        return R.ok().put("data", weijiuye);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody WeijiuyeEntity weijiuye, HttpServletRequest request){
    	weijiuye.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(weijiuye);

        weijiuyeService.insert(weijiuye);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody WeijiuyeEntity weijiuye, HttpServletRequest request){
    	weijiuye.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(weijiuye);

        weijiuyeService.insert(weijiuye);
        return R.ok();
    }

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

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        weijiuyeService.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<WeijiuyeEntity> wrapper = new EntityWrapper<WeijiuyeEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));
		}

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





    /**
     * (按值统计)
     */
    @RequestMapping("/value/{xColumnName}/{yColumnName}")
    public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        params.put("yColumn", yColumnName);
        EntityWrapper<WeijiuyeEntity> ew = new EntityWrapper<WeijiuyeEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("xuesheng")) {
            ew.eq("xuehao", (String)request.getSession().getAttribute("username"));
        }
        List<Map<String, Object>> result = weijiuyeService.selectValue(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }

    /**
     * (按值统计)时间统计类型
     */
    @RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")
    public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        params.put("yColumn", yColumnName);
        params.put("timeStatType", timeStatType);
        EntityWrapper<WeijiuyeEntity> ew = new EntityWrapper<WeijiuyeEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("xuesheng")) {
            ew.eq("xuehao", (String)request.getSession().getAttribute("username"));
        }
        List<Map<String, Object>> result = weijiuyeService.selectTimeStatValue(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }
    
    /**
     * 分组统计
     */
    @RequestMapping("/group/{columnName}")
    public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("column", columnName);
        EntityWrapper<WeijiuyeEntity> ew = new EntityWrapper<WeijiuyeEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("xuesheng")) {
            ew.eq("xuehao", (String)request.getSession().getAttribute("username"));
        }
        List<Map<String, Object>> result = weijiuyeService.selectGroup(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }
}

获取源码或论文

如需对应的论文或源码,以及其他定制需求,也可以下方微❤联系。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值