基于Springboot+MybatisPlus的学校企业就业求职面试招聘管理系统

简介: 基于Springboot+MybatisPlus的学校企业就业求职面试招聘管理系统

一、基于Springboot+MybatisPlus的学校企业就业求职面试招聘管理系统


1.1 项目概述


开发语言:Java8


数据库:Mysql5


前端技术:bootstrap layui echarts


后端框架:Springboot MybatisPlus 【ORM javabean – 数据库表实体 】


数据库连接池:


服务器:Tomcat,SSM SHH【自己部署】


开发工具:Eclipse Navicat Maven


代码设计:MVC HTTP-----> Controlller----->service------>dao【Model】


get post delete put


1.2 项目详解


1.登录【正则表达式】

用户名:


密码:


验证码:


1.HTTP地址:post[form] ----Controller


2.首先验证码对不对?


3.通过之后查库


4.查询数据库有没有该用户?


2.注册


1.检验数据格式


2.判断两次密码是否一致


3.form 提交到后台Controller


4.插入数据库


源码+数据库:https://download.csdn.net/download/wyn_365/85485912


看视频:https://www.bilibili.com/video/BV1nL4y1579o?share_source=copy_web


3.权限管理:shiro认证和授权


看视频:https://www.bilibili.com/video/BV1EY411F7Br?share_source=copy_web


4.所有功能的增删改查【略】


1.投递简历和企业发送面试邀请

type: "POST",
dataType: "json",
url:  "/api/sendResume",
traditional: true,
data: {
   perid:userId,
   stationid:${station.id},
},

1.投递表有没有数据,不让米投递

2.赋值属性

3判断简历是否为空,建立为空,则创建简历

4.投递表 插入数据


2.可视化图表

$.ajax({
    url: ip + "/api/chartList",
    type: "get",
    success:function(data){
      //以下两种解析json的方法都可以
      var jsonObject = data.list;
      console.log(jsonObject);
      //var jsonObject = eval("("+data+")");
      for(var i=0;i<jsonObject.length;i++){
        json.push({value:jsonObject[i].num,name:jsonObject[i].title});
        datas.push(jsonObject[i].title);
      }
      printPie();
    }
  });
  springboot
  SQL: select title,sum(num) from db_station group by title
  select title,sum(num) as num
      from db_station where 1=1
    group by id;


3.就业咨询

所有喜讯列表
$.ajax({
  type: "get",
  dataType: "json",
  url:  "/api/consultList",
  traditional: true,
  data: {
  },
  List<DbConsult> list = dbConsultService.selectList(null);
   success: function(data) {
        $("#list").html("");
        var html = $("#dataList").render(data.list);
        $("#list").html(html);
      }
## 插入招聘资讯
if (username == false) {
    spop({
          template: '请先登录账号再咨询!',
          position: "top-center",
          style: "error",
          autoclose: 2000,
          onClose:function() { 
                window.location.href = '/front/login'
            }
       }); 
    return false;
    }else{
   $.ajax({
        type: "POST",
        dataType: "json",
        url:  "/api/addDbConsult",
        traditional: true,
        data: {
          username:username,
          nickname:nickname,
          title:$("#title").val(),
          content:$("#content").val()
        },
        success: function(data) {
          if(data.code =="200"){
            spop({
                  template: "咨询成功,2秒后自动跳转列表",
                  position: "top-center",
                  style: "success",
                  autoclose: 2000,
                  onClose:function() { 
                    window.location.href = '/front/consultlist'
                }
               });
          }else{
            spop({
              template: data.message,
              position: "top-center",
              style: "error",
              autoclose: 2000
           }); 
          }
        }
  });
  public Object add(DbConsult dbConsult) {
    dbConsultService.insert(dbConsult);
    return SUCCESS_TIP;
  }
  // 回复 Myatisplus 
  update db_consult set recontent = "" ,retime = "";


招聘职位的带有模糊查询 带有分页查询所有,如何实现增删改查

DbStation.search = function () {
    var queryData = {};
    queryData['condition'] = $("#condition").val();
    DbStation.table.refresh({query: queryData});
};
public Object list(String condition) {
    return dbStationService.selectList(null);
}

1.3 项目总结


1.先看前台发送请求的地方在哪里 http url:

2.后台:controller映射路径

3.解析程序 service 【封装的参数,返回值】

4.SQL:


1.4 答辩问题


请大家,对照程序,自行回答如下问题:

1.系统开发使用了哪些框架及技术?为什么使用它们?有哪些特殊的参数配置?代码中通过什么可以快速识别出框架或者框架在代码中的体现是什么?


2.页面、服务器、数据库的调用传输机制是什么样的?

3.数据库有哪些表?字段数据类型、长度设置的原因是什么?是否合理?数据表是否有外键?设置或者不设置的原因。

4.开发中使用了哪些插件?改变插件参数会有什么变形情况出现?(可以不会写,但是要看懂会用。)

5.所有功能添加新的信息时,是否有信息校验?语句是什么?


js正则表达:《input》


6.所有功能的删除操作是否进行判断或者进行级联删除?删除上游数据表信息,下游数据表记录如何处理?通过什么方法实现的?语句是什么?


7.修改操作后系统数据是否已全部同步?语句是什么?


8.搜索功能是否支持精确、模糊查询?语句是什么?


where id =?


username like % %


9.自查逻辑流是否合理。能够快速定位功能代码段。


源码+数据库:https://download.csdn.net/download/wyn_365/85485912


ea37e989ffdd4f2886b478153c4945c6.png


学生登录


image.png


9d36a9450f92481c8950dc19b023c636.png

afb40764fb0e406dbe42354ab3216237.png

25306064a61448dab35b932eff9b799a.png

6fe72c86621f4817b898db0b14f3da3e.png


11f966069ceb4b9c8afa8cbd49767e2c.png

24ce25fa057d4ab2b6db15c4855fc16b.png

ccfa341413f94e7980acc4dea93cea06.png

ef4d4960bec94729b5daa2df3a7ba974.png


da90011027ad4b3caa6f4f8254259d6a.png


87b6e98aad404fceb77aae7cd3ddd19b.png


2ccaf5f04e784f46bafe8c8df205819f.png

d4c1f17180ec4881891dd20f3d1592aa.png

bba5df1dd53b4d0d9d39fca46138de4a.png


f8b85a7352b0477898cb5cfaca2f7e9a.png

04ed21de8a5148d583007191f8531345.png

27214a4de4624325984d6a0277122708.png


4411e53625804dc8ba81769b0bc2381e.png

b57506f4e4ee418bb265f9aa7f8cfa25.png


6b8e9f2e2c444fa7ac11a236292de56f.png


085e9c33cb60467dab0d784a9c3b51f5.png

34617c6f70d549828b6aed20c58c00fe.png

d09d1f9e90a64d16a3f1e3d0de44b671.png

9a5a8c63a37b4527b69736e68ac19259.png8a33a6fbf355494fa0de135162882d95.png

6c52c9caf6664761ae6173bed97b9d78.png

f997f1cfb17448c58815f650ecfe73d0.png

1aeba0df11fe48c8999dc6e7db7eceed.png


a4a117157b894ba1a1f52f6723b61bec.png

d87988595d1b424d84c8bbcddb3dfdfc.png

d70d1485e6e74982be738f6f2fac2418.png

b7c4fe44f1914b78a9e43c841562d085.png


19e81ba577ce42b191b2050b64b9f07e.png


ad46c2c86cf54caf9d8c089e19a28073.png

4b258cba73cf46d5a5f99c7f0b73e466.png

6a84a25720364f3f9738ec6d72ccf097.png


目录
相关文章
|
11月前
|
人工智能 搜索推荐 数据处理
简历诊断与面试指导:学校用AI开出“数字处方”,生成式人工智能(GAI)认证助力学生求职
本文探讨了人工智能(AI)技术在教育领域的应用,特别是学校如何利用AI进行简历诊断与面试指导,帮助学生提升求职竞争力。同时,生成式人工智能(GAI)认证的引入填补了技能认证空白,为学生职业发展提供权威背书。AI的个性化服务与GAI认证的权威性相辅相成,助力学生在数字化时代更好地应对求职挑战,实现职业目标。文章还展望了AI技术与GAI认证在未来持续推动学生成长的重要作用。
|
10月前
|
人工智能 自然语言处理 算法
通义灵码助力技术求职:如何成为笔试面试冲刺的“超级助手”
在技术岗位竞争日益激烈的当下,求职季的备战已不仅是知识储备的较量,更是效率与实战能力的比拼。面对海量面试题、复杂算法挑战及快速迭代的技术框架,开发者亟需高效工具辅助突破瓶颈。阿里云推出的智能编码工具通义灵码,凭借其代码生成、优化及智能问答等核心能力,正成为开发者备战求职季的“超级助手”。
|
Java 数据库连接 Maven
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)
自动装配是现在面试中常考的一道面试题。本文基于最新的 SpringBoot 3.3.3 版本的源码来分析自动装配的原理,并在文未说明了SpringBoot2和SpringBoot3的自动装配源码中区别,以及面试回答的拿分核心话术。
1038 2
最新版 | 深入剖析SpringBoot3源码——分析自动装配原理(面试常考)
|
Java 数据库连接 Maven
最新版 | SpringBoot3如何自定义starter(面试常考)
在Spring Boot中,starter是一种特殊的依赖,帮助开发人员快速引入和配置特定功能模块。自定义starter可以封装一组特定功能的依赖和配置,简化项目中的功能引入。其主要优点包括模块化、简化配置、提高代码复用性和实现特定功能。常见的应用场景有短信发送模块、AOP日志切面、分布式ID生成等。通过创建autoconfigure和starter两个Maven工程,并编写自动配置类及必要的配置文件,可以实现一个自定义starter。最后在测试项目中验证其有效性。这种方式使开发者能够更便捷地管理和维护代码,提升开发效率。
1986 1
最新版 | SpringBoot3如何自定义starter(面试常考)
|
消息中间件 存储 缓存
招行面试:如何让系统抗住双十一 预约抢购活动?10Wqps级抢购, 做过吗?
本文由40岁老架构师尼恩撰写,针对一线互联网企业如得物、阿里、滴滴等的面试题进行深度解析。文章聚焦于如何设计系统以应对大促活动中的预约抢购场景,涵盖从预告到支付的完整流程。尼恩通过系统化、体系化的梳理,帮助读者提升技术实力,轻松应对高并发挑战,并提供了详细的架构设计和解决方案。文中还分享了《尼恩Java面试宝典》等资源,助力求职者在面试中脱颖而出,实现“offer直提”。更多内容及PDF资料,请关注公众号【技术自由圈】获取。
|
架构师 Java 开发者
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
在40岁老架构师尼恩的读者交流群中,近期多位读者成功获得了知名互联网企业的面试机会,如得物、阿里、滴滴等。然而,面对“Spring Boot自动装配机制”等核心面试题,部分读者因准备不足而未能顺利通过。为此,尼恩团队将系统化梳理和总结这一主题,帮助大家全面提升技术水平,让面试官“爱到不能自已”。
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
3983 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!