IDEA+SpringBoot +ssm+ Mybatis+easyui+Mysql求职招聘管理系统网站


一、系统介绍

本系统实现了求职招聘管理系统网站,前台实现了登录、注册、首页、公司、关于我们、我的简历、我投递的简历、修改密码,管理端实现了管理员登录、我的信息、用户信息、职位类别、职位列表、公司列表、日志列表

1.环境配置

JDK版本:1.8
Mysql:8.0

二、系统展示

1. 登录

在这里插入图片描述

2.注册

在这里插入图片描述

3.首页

在这里插入图片描述

4.公司

在这里插入图片描述

5.关于我们

在这里插入图片描述

6.我的简历

在这里插入图片描述

7.我投递的简历

在这里插入图片描述

8.修改密码

在这里插入图片描述

9. 管理员登录

在这里插入图片描述

登录用户名密码:拉勾网管理员 123456

10.我的信息

在这里插入图片描述

11.用户信息

在这里插入图片描述

12.职位类别

在这里插入图片描述

13. 职位列表

在这里插入图片描述

14. 公司列表

在这里插入图片描述

15. 日志列表

在这里插入图片描述

三、部分代码

UserService.java

package com.lagou.service.common;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * 应聘者service
 * @author 82320
 *
 */

import com.lagou.dao.common.UserDao;
import com.lagou.entity.common.User;
/**
 * 用户service
 *
 */
@Service
public class UserService {

	@Autowired
	private UserDao userDao;
	
	/**
	 * 用户添加/编辑
	 * @param employee
	 * @return
	 */
	public User save(User user)
	{
		return userDao.save(user);
	}
	
	/**
	 * 根据用户邮箱地址查找
	 * @param email
	 * @return
	 */
	public User findByEmail(String email)
	{
		return userDao.findByEmail(email);
	}
	
	
	/**
	 * 根据用户昵称查找
	 * @param email
	 * @return
	 */
	public User findByUsername(String username)
	{
		return userDao.findByUsername(username);
	}
	
	/**
	 * 后端获取所有用户信息
	 * @param offset
	 * @param pageSize
	 * @return
	 */
	public List<User> findAllUserList(int offset,int pageSize){
		return userDao.findAllUserList(offset, pageSize);
	}
	
	
	/**
	 * 根据id查询用户
	 * @param id
	 * @return
	 */
	public User find(Long id)
	{
		return userDao.find(id);
	}
	
	/**
	 * 统计用户总数
	 * @return
	 */
	public long total() {
		return userDao.count();
	}
	
	/**
	 * 删除用户
	 * @param id
	 */
	public void delete(Long id) {
		userDao.deleteById(id);
	}
}






UserController.java

package com.lagou.controller.admin;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.lagou.bean.CodeMsg;
import com.lagou.bean.Page;
import com.lagou.bean.Result;
import com.lagou.entity.common.Company;
import com.lagou.entity.common.Position;
import com.lagou.entity.common.User;
import com.lagou.entity.home.EducationBackground;
import com.lagou.entity.home.ExpectWork;
import com.lagou.entity.home.ProjectExperience;
import com.lagou.entity.home.Resume;
import com.lagou.entity.home.WorkExperience;
import com.lagou.entity.home.WorkShow;
import com.lagou.service.common.CompanyService;
import com.lagou.service.common.PositionService;
import com.lagou.service.common.UserService;
import com.lagou.service.home.EducationBackgroundService;
import com.lagou.service.home.ExpectWorkService;
import com.lagou.service.home.ProjectExperienceService;
import com.lagou.service.home.ResumeService;
import com.lagou.service.home.WorkExperienceService;
import com.lagou.service.home.WorkShowService;
/**
 * 后端用户管理控制器
 *
 */
@RequestMapping("/admin/user")
@Controller
public class UserController {

	@Autowired
	private UserService userService;
	
	@Autowired
	private ResumeService resumeService;
	
	@Autowired
	private WorkExperienceService workExperienceService;
	
	@Autowired
	private WorkShowService workShowService;
	
	@Autowired 
	private ProjectExperienceService projectExperienceService;
	
	@Autowired
	private ExpectWorkService expectWorkService;
	
	@Autowired
	private EducationBackgroundService educationBackgroundService;
	
	@Autowired 
	private CompanyService companyService;
	
	@Autowired
	private PositionService PositionService;
	
	/**
	 * 后台用户管理信息页面
	 * @param model
	 * @return
	 */
	@RequestMapping(value="/user_info",method=RequestMethod.GET)
	public String myInfo(Model model){
		return "admin/admin/user_info";
	}
	

	/**
	 * 后台用户信息列表
	 * @param request
	 * @param page
	 * @return
	 */
	@RequestMapping(value="/user_info_list",method=RequestMethod.POST)
	@ResponseBody
	public  Map<String, Object>  userInfoList(HttpServletRequest request,Page page){
		Map<String, Object> ret = new HashMap<String, Object>();
		List<User> findAllUserList = userService.findAllUserList(page.getOffset(), page.getRows());
		ret.put("rows", findAllUserList);
		ret.put("total", userService.total());
		return ret; 
	}
	
	
	/**
	 * 删除用户
	 * @param id
	 * @return
	 */
	@RequestMapping(value="/delete",method=RequestMethod.POST)
	@ResponseBody
	public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){
		User user = userService.find(id);
		try {
			if(user.getType() == 1) {
				//如果用户身份是招聘者
				Company findCompany = companyService.findByUserId(id);
				if(findCompany != null) {
					//删除该用户认证的公司下所有简历
					List<Resume> findResumeList = resumeService.findByCompanyId(findCompany.getId());
					for(Resume resume : findResumeList) {
						resumeService.delete(resume.getId());
					}
					//删除该用户认证的公司下所有职位
					List<Position> findPositionList = PositionService.findPositionByCompanyId(findCompany.getId());
					for(Position position : findPositionList) {
						PositionService.delete(position.getId());
					}
					//删除该用户所属公司
					companyService.delete(findCompany.getId());
				}
			}
			if(user.getType() == 0) {
				//如果用户身份是应聘者
				//删除该用户的所有简历
				List<Resume> findResume = resumeService.findByUserId(id);
				for(Resume resume : findResume) {
					resumeService.delete(resume.getId());
				}
				//删除该用户的工作经验
				WorkExperience findWorkExperience = workExperienceService.findWorkExperienceByUserId(id);
				if(findWorkExperience != null) {
					workExperienceService.delete(findWorkExperience.getId());
				}
				//删除该用户的作品展示
				WorkShow findWorkShow = workShowService.findWorkShowByUserId(id);
				if(findWorkShow != null) {
					workShowService.delete(findWorkShow.getId());
				}
				//删除该用户的项目经验
				ProjectExperience findProjectExperience = projectExperienceService.findProjectExperienceByUserId(id);
				if(findProjectExperience != null) {
					projectExperienceService.delete(findProjectExperience.getId());
				}
				//删除该用户的期望工作
				ExpectWork findExpectWork = expectWorkService.findExpectWorkByUserId(id);
				if(findExpectWork != null) {
					expectWorkService.delete(findExpectWork.getId());
				}
				//删除该用户的教育背景
				EducationBackground findEducationBackground = educationBackgroundService.findEducationBackgroundByUserId(id);
				if(findEducationBackground != null) {
					educationBackgroundService.delete(findEducationBackground.getId());
				}
			}
			//最后删除该用户
			userService.delete(id);
		}catch(Exception e){
			e.printStackTrace();
			return Result.error(CodeMsg.FOREIGN_KEY_RESTRAIN);
		}
		
		return Result.success(true);
	}
}


User.java

package com.lagou.entity.common;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.FetchType;
import javax.persistence.Lob;
import javax.persistence.Table;

import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import com.lagou.annotion.ValidateEntity;
/**
 * 用户实体类
 *
 */
@Entity
@Table(name="user")
@EntityListeners(AuditingEntityListener.class)  //是用于监听实体类添加或者删除操作的。
public class User extends BaseEntity{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private static final int USER_SEX_MAN = 1;//性别男
	
	private static final int USER_SEX_WOMAN = 2;//性别女
	
	private static final int USER_SEX_UNKONW = 0;//性别未知
	
	private static final String DEFAULT_WORK_EXPERIENCE = "应届毕业生"; //默认工作经验
	private static final String DEFAULT_DEGREE = "其他"; //默认学历
	private static final String DEFAULT_HEAD_IMAGE = "common/default_img.jpg";  //默认用户头像

	
	@ValidateEntity(required=true,requiredMaxLength=true,requiredMinLength=true,minLength=1,maxLength=6,errorRequiredMsg="用户昵称不能为空!",errorMinLengthMsg="用户昵称长度需大于0!",errorMaxLengthMsg="用户昵称长度不能大于6!")
	@Column(name="username",nullable=false,length=6)
	private String username;//用户昵称
	
	@ValidateEntity(required=true,requiredMaxLength=true,requiredMinLength=true,minLength=6,maxLength=16,errorRequiredMsg="用户密码不能为空!",errorMinLengthMsg="用户密码长度需大于5!",errorMaxLengthMsg="用户密码长度不能大于16!")
	@Column(name="Password",nullable=false,length=16)
	private String Password;//用户昵称
	
	@ValidateEntity(required=true,errorRequiredMsg="用户邮箱地址不能为空!")
	@Column(name="Email",nullable=false)
	private String Email;//用户邮箱地址
	
	@ValidateEntity(required=false)
	@Column(name="head_pic",length=128)
	private String headPic = DEFAULT_HEAD_IMAGE;//用户头像
	
	@ValidateEntity(required=false)
	@Column(name="work_experience",length=10)
	private String workExperience = DEFAULT_WORK_EXPERIENCE ; //工作经验:默认是应届毕业生
	
	@ValidateEntity(required=false)
	@Column(name="degree",length=10)
	private String degree = DEFAULT_DEGREE ; //学历:默认是其他
	
	@ValidateEntity(required=false)
	@Column(name="sex",length=1)
	private int sex = USER_SEX_UNKONW;//用户性别
	
	@ValidateEntity(required=true,requiredMaxLength=true,requiredMinLength=true,minLength=11,maxLength=11,errorMinLengthMsg="请输入手机号正确的11位长度!",errorMaxLengthMsg="请输入手机号正确的11位长度!")
	@Column(name="mobile",length=12)
	private String mobile;//用户手机号
	
	@ValidateEntity(required=false)
	@Column(name="type",length=1,nullable=false)
	private Long type;//用户类别:0:应聘者,1:招聘者
	
	@Lob
    @Basic(fetch = FetchType.LAZY)   //类型为longtext
	private String content; //自我描述


	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return Password;
	}

	public void setPassword(String password) {
		Password = password;
	}

	public String getEmail() {
		return Email;
	}

	public void setEmail(String email) {
		Email = email;
	}

	public String getHeadPic() {
		return headPic;
	}

	public void setHeadPic(String headPic) {
		this.headPic = headPic;
	}

	public int getSex() {
		return sex;
	}

	public void setSex(int sex) {
		this.sex = sex;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public Long getType() {
		return type;
	}

	public void setType(Long type) {
		this.type = type;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getWorkExperience() {
		return workExperience;
	}

	public void setWorkExperience(String workExperience) {
		this.workExperience = workExperience;
	}

	public String getDegree() {
		return degree;
	}

	public void setDegree(String degree) {
		this.degree = degree;
	}
	
	
}



四、其他

获取源码

点击以下链接获取源码。
IDEA+SpringBoot +ssm+ Mybatis+easyui+Mysql求职招聘管理系统源码网站
idea+springboot+jpa+maven+jquery+mysql进销存管理系统源码
IDEA+java+spring+hibernate+jquery+mysql后台管理系统
IDEA + Spring Boot + Security + MyBatis Plus+Mysql低代码快速开发平台
IDEA+spring boot+activiti+shiro++layui+Mysql权限管理系统源码
IDEA+SpringBoot + Mybatis + Shiro+Bootstrap+Mysql智慧仓库WMS源码
IDEA+springboot+ssm+layui+mysql高校宿舍管理系统源码
IDEA+springboot + ssm +shiro+ easyui +mysql实现的进销存系统
IDEA+springboot+mybatis+shiro+bootstrap+Mysql网上书店管理系统
IDEA+springboot+mybatis+shiro+bootstrap+Mysql WMS仓库管理系统
IDEA+spring+spring mvc+mybatis+bootstrap+jquery+Mysql运动会管理系统源码
IDEA+SpringBoot+mybatis+bootstrap+jquery+Mysql车险理赔管理系统源码
IDEA+Spring Boot + MyBatis + Layui+Mysql垃圾回收管理系统源码
IDEA+SpringBoot+mybatis+SSM+layui+Mysql学生就业信息管理系统源码
IDEA+springboot+jpa+Layui+Mysql销售考评系统源码
IDEA+Spring + Spring MVC + MyBatis+Bootstrap+Mysql酒店管理系统源码
IDEA+spring boot+mybatis+spring mvc+bootstrap+Mysql停车位管理系统源码

Java+Swing+Mysql实现学生宿舍管理系统

Java+Swing+Txt实现自助款机系统

Java+Swing+Mysql自助存取款机系统

Java+Swing+mysql5实现学生成绩管理系统(带分页)

Java+Swing+Mysql实现超市商品管理系统源码

Java+Swing+Mysql实现通讯录管理系统源码

Java+Swing+Mysql实现图书管理系统源码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

reg183

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值