基于SpringBoot+vue的校园招聘系统

简介: 基于SpringBoot+vue的校园招聘系统

一、前言

校园招聘系统是一种具有交互性的人才信息系统,相当于一个线上招聘会,具有时间、空间的便携性。许多学校为了更好的统筹企业与毕业生,都因地适宜地开发了属于自己的校园招聘系统,这也是一个比较流行的网络应用系统。

介绍了一个校园招聘系统的设计和实现过程。该系统将面向对象的设计思想运用到数据库中,采用前端框架vue、后端框架SpringBoot2.7.1 + SpringMVC + Mybatis-Plus3.5.0和MySQL数据库相结合,设计成开发动态网页形式的在线招聘系统。企业和学生的招聘信息均在线上录入,招聘过程中所需的数据也在数据库中进行储存与调用,因此数据的更新是无纸质化的。提督第一次自主研发一个项目,欢迎各位大佬指正,有兴趣的小伙伴也可以交流一下。

关键词:vue、Springboot2.7.1 + SpringMVC + Mybatis-plus 3.5.0、MySQL8.0

二、系统的介绍

2018122814580746.png前台工作主要是完成学生端对工作岗位的浏览,投递和收藏,其中浏览又细分为校内岗位和校外岗位等等。

1、前台

2018122814580746.png

2018122814580746.png

2018122814580746.png

2018122814580746.png

2018122814580746.png2018122814580746.png2018122814580746.png2018122814580746.png2018122814580746.png2018122814580746.png

2、后台

后台主要功能是对招聘信息的发布和管理,以及对职位申请的审批,查看用户的个人主页等

2018122814580746.png2018122814580746.png2018122814580746.png2018122814580746.png2018122814580746.png

3、部分代码展示

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jc.campusemploydemo.bean.Result;
import com.jc.campusemploydemo.domain.Positions;
import com.jc.campusemploydemo.mapper.PositionsMapper;
import com.jc.campusemploydemo.service.PositionsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class PositionsServiceImpl implements PositionsService {
    @Autowired
    private PositionsMapper record;
    /**
     * 分页查询校外的职位
     * @param page
     * @param size
     * @return
     */
    @Override
    public Page<Positions> showAllOnSocial(Integer page, Integer size) {
        QueryWrapper<Positions> wrapper = new QueryWrapper<>();
        wrapper.eq("p_flag",1);
        wrapper.orderByAsc("id");
        Page selectPage = record.selectPage(new Page(page, size), wrapper);
        return selectPage;
    }
    /**
     * 分页查询校内的职位
     * @param page
     * @param size
     * @return
     */
    @Override
    public Page<Positions> showAllOnCampus(Integer page, Integer size) {
        QueryWrapper<Positions> wrapper = new QueryWrapper<>();
        wrapper.eq("p_flag",1);
        wrapper.orderByAsc("id");
        Page selectPage = record.selectPage(new Page(page, size), wrapper);
        return selectPage;
    }
    @Override
    public Result addPos(Positions positions) {
        int flag = record.insert(positions);
        if (flag <0){
            return new Result(false,"添加失败");
        }
        return new Result(true,"添加成功");
    }
    @Override
    public boolean delete(Integer id) {
        return record.deleteById(id)>0;
    }
    @Override
    public Result updatePos(Positions positions) {
        int i = record.updateById(positions);
        if (i>0){
            return new Result(true,"更新成功");
        }
        return new Result(false,"更新失败");
    }
    /**
     * 查询全部职业信息
     * @param page
     * @param size
     * @return
     */
    @Override
    public Page<Positions> showAll(Integer page, Integer size) {
        QueryWrapper<Positions> wrapper = new QueryWrapper<>();
        wrapper.orderByAsc("id");
        Page selectPage = record.selectPage(new Page(page,size), wrapper);
        return selectPage;
    }
    /**
     * 根据条件查询
     * @param pClassify
     * @param page
     * @param size
     * @return
     */
    @Override
    public Page<Positions> selectLikeByKeyWord( String pClassify,String p_name,Integer page,Integer size) {
        QueryWrapper<Positions> queryWrapper = new QueryWrapper<>();
        if (p_name!= null){
            queryWrapper.like("p_name",p_name);
        }
        if (pClassify!= null){
            queryWrapper.like("p_classify",pClassify);
        }
        queryWrapper.orderByDesc("id");
        Page page1 = record.selectPage(new Page(page,size),queryWrapper);
        return page1;
    }
    /**
     * 根据id查找职位
     * @param id
     * @return
     */
    @Override
    public Result selectById(Integer id) {
        Positions positions = record.selectById(id);
        if(positions != null){
            return new Result(true,"查找成功",positions);
        }
        return new Result(false,"查找失败");
    }
}

4、上传文件相关代码(后续会搭建linux的文件平台)

上传文件功能原理:其实原理很简单,就是使用springboot的MultipartFile类作为参数,判断文件是否为空,为空则返回失败提示;否则,先获取当前文件的文件名字,再获取存储路径,如果路径不存在,则创建这个路径,然后创建实际存储文件的路径,根据实际路径存储文件,将相对路径存储到数据库里面。

 @PostMapping("/uploadResume")
    @ApiOperation(value="上传附件",notes = "code= 0 : 失败  code= 1: 成功,前端根据接口code值来判断跳转页面")
    public Object uploadResumeFile(@RequestParam("file") MultipartFile upFile) {
        JSONObject jsonObject = new JSONObject();
//        上传失败
        if (upFile.isEmpty()) {
            jsonObject.put(Const.CODE, 0);
            jsonObject.put(Const.MSG, "文件上传失败");
            return jsonObject;
        }
        //        文件名 = 当前时间到毫秒+原来的文件文件名
        String fileName = System.currentTimeMillis() + upFile.getOriginalFilename();
//        文件路径
        String filePath = "D:\\DataStorage\\IdeaData\\campusemploydemo\\campusemploydemo\\src\\main\\resources\\static\\resume\\";
        //        如果文件路径不存在,新增该路径
        File file1 = new File(filePath);
        if (!file1.exists()) {
            file1.mkdir();
        }
        //        实际的文件地址(前端上传之后的地址)
        File dest = new File(filePath + System.getProperty("file.separator") + fileName);
        //        存储到数据库里的相对文件地址
        String storePath = "/img/userPic" + fileName;
        try {
            upFile.transferTo(dest);            // 用来把 MultipartFile 转换换成 File
            User user = (User) session.getAttribute("name");
            Information information = informationService.selectById(user.getUid());
            information.setFiles(storePath);
            Result flag = informationService.updateInfo(information, user.getUid());
            if (flag.isFlag()) {
                jsonObject.put(Const.CODE, 1);
                jsonObject.put(Const.MSG, "上传成功");
                jsonObject.put("pic", storePath);
                return jsonObject;
            }
        } catch (IOException e) {
            jsonObject.put(Const.CODE, 0);
            jsonObject.put(Const.MSG, "上传失败" + ": " + e.getMessage());
            return jsonObject;
        } finally {
            return jsonObject;
        }
    }

相关源码下载链接:https://download.csdn.net/download/m0_58847451/86930153

有感兴趣的小伙伴可以联系哦

相关文章
|
2月前
|
前端开发 安全 Java
基于springboot+vue开发的会议预约管理系统
一个完整的会议预约管理系统,包含前端用户界面、管理后台和后端API服务。 ### 后端 - **框架**: Spring Boot 2.7.18 - **数据库**: MySQL 5.6+ - **ORM**: MyBatis Plus 3.5.3.1 - **安全**: Spring Security + JWT - **Java版本**: Java 11 ### 前端 - **框架**: Vue 3.3.4 - **UI组件**: Element Plus 2.3.8 - **构建工具**: Vite 4.4.5 - **状态管理**: Pinia 2.1.6 - **HTTP客户端
319 4
基于springboot+vue开发的会议预约管理系统
|
6月前
|
缓存 JavaScript PHP
斩获开发者口碑!SnowAdmin:基于 Vue3 的高颜值后台管理系统,3 步极速上手!
SnowAdmin 是一款基于 Vue3/TypeScript/Arco Design 的开源后台管理框架,以“清新优雅、开箱即用”为核心设计理念。提供角色权限精细化管理、多主题与暗黑模式切换、动态路由与页面缓存等功能,支持代码规范自动化校验及丰富组件库。通过模块化设计与前沿技术栈(Vite5/Pinia),显著提升开发效率,适合团队协作与长期维护。项目地址:[GitHub](https://github.com/WANG-Fan0912/SnowAdmin)。
892 5
|
6月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
603 1
|
3月前
|
前端开发 JavaScript Java
基于springboot+vue开发的校园食堂评价系统【源码+sql+可运行】【50809】
本系统基于SpringBoot与Vue3开发,实现校园食堂评价功能。前台支持用户注册登录、食堂浏览、菜品查看及评价发布;后台提供食堂、菜品与评价管理模块,支持权限控制与数据维护。技术栈涵盖SpringBoot、MyBatisPlus、Vue3、ElementUI等,适配响应式布局,提供完整源码与数据库脚本,可直接运行部署。
210 6
基于springboot+vue开发的校园食堂评价系统【源码+sql+可运行】【50809】
|
2月前
|
监控 JavaScript Java
2025版基于springboot的校园打印社管理系统
本系统旨在解决传统校园打印社管理效率低、排队时间长、耗材管理难等问题,集成订单管理、设备监控、耗材统计、线上预约、自助打印与在线支付等功能,提升运营效率与用户体验,助力校园信息化建设。
|
3月前
|
数据安全/隐私保护
springboot3 vue3校园失物招领系统实战开发
本项目基于SpringBoot3与Vue3开发全新校园失物招领系统,支持用户发布失物、招领信息,提供私信交流、物品领取、管理员管理功能,含详细角色设计与功能模块,适合学习参考。
|
1月前
|
JavaScript Java 关系型数据库
基于springboot的项目管理系统
本文探讨项目管理系统在现代企业中的应用与实现,分析其研究背景、意义及现状,阐述基于SSM、Java、MySQL和Vue等技术构建系统的关键方法,展现其在提升管理效率、协同水平与风险管控方面的价值。
|
1月前
|
搜索推荐 JavaScript Java
基于springboot的儿童家长教育能力提升学习系统
本系统聚焦儿童家长教育能力提升,针对家庭教育中理念混乱、时间不足、个性化服务缺失等问题,构建科学、系统、个性化的在线学习平台。融合Spring Boot、Vue等先进技术,整合优质教育资源,提供高效便捷的学习路径,助力家长掌握科学育儿方法,促进儿童全面健康发展,推动家庭和谐与社会进步。
|
1月前
|
JavaScript Java 关系型数据库
基于springboot的古树名木保护管理系统
本研究针对古树保护面临的严峻挑战,构建基于Java、Vue、MySQL与Spring Boot技术的信息化管理系统,实现古树资源的动态监测、数据管理与科学保护,推动生态、文化与经济可持续发展。