Java项目:SSM公司人力资源管理系统

news2024/9/23 3:28:57

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

本项目为后台管理系统,分为管理员与普通员工两种角色;
管理员角色包含以下功能:
管理员登录,员工账号管理,部门管理,员工管理,薪资管理,薪资发放,招聘管理,员工培训管理等功能。

普通员工角色包含以下功能:
普通员工登录,员工账号查看,部门管理,员工管理,薪资管理,薪资发放等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

5.数据库:MySql 5.7版本;

6.是否Maven:否;

技术栈

1. 后端:Spring+SpringMVC+Mybatis

2. 前端:JSP+CSS+JavaScript+bootstrap

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;

4. 运行项目,输入http://localhost:8080/ 登录

运行截图

 相关代码

员工模块

package manage.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import manage.base.BaseController;
import manage.model.Departments;
import manage.model.User;
import manage.model.UserPo;
import manage.service.DepartmentsService;
import manage.service.UserService;
import manage.util.BiSheUtil;
import manage.util.PageInfo;
import manage.util.PageResult;
/**
* @author 曲文强
* @version 创建时间:2018.04.18
* @describe: 员工模块
*/
@Controller
public class UserController extends BaseController<User, UserService<User>> {

	private static Logger logger = LogManager.getLogger(UserController.class);
	@Resource
	private UserService<User> userServiceImpl;
	@Resource
	private DepartmentsService<Departments> departmentsServiceImpl;

	@RequestMapping("/add")
	public String Register() {
		return "index";
	}

	@RequestMapping(value = "/register", produces = "text/html;charset=UTF-8", method = RequestMethod.DELETE)
	@ResponseBody
	public String delete(@RequestBody String account) {
		System.out.println(account);
		String userAccount = account;
		userServiceImpl.deleteByPrimaryKey(userAccount);
		// String returnInfo = JSONObject.toJSONString("删除成功");
		return "删除成功";

	}

	@RequestMapping(value = "/register", produces = "text/html;charset=UTF-8", method = RequestMethod.POST)
	@ResponseBody
	public String add(User user) throws Exception {
		String res = userServiceImpl.validate(user, INSERT);
		// String res = userServiceImpl.insertAdd(user);
		String returnInfo = JSONObject.toJSONString(res);
		return returnInfo;
	}

	@RequestMapping(value = "/register", produces = "text/html;charset=UTF-8", method = RequestMethod.GET)
	@ResponseBody
	// 分页查询
	public String find(HttpServletRequest request) {
		// ,HttpSession session
		// 从分页工具中得到数据库查询的数据和page的信息
		 //int pageSize = Integer.parseInt(PageResult.getName("pageSize"));
		 String pageSize = request.getParameter("pageSize");
		 String currentPage = request.getParameter("currentPage");
		 String depNumber = request.getParameter("depNum");
		 String userNum = request.getParameter("userNum");
		 String userName = request.getParameter("userName");
		 //String userAutho = request.getParameter("userAutho");
		 if (!BiSheUtil.notNull(depNumber)) {
				depNumber = null;
			}
		 if (!BiSheUtil.notNull(userNum)) {
			 userNum = null;
			}
		 if (!BiSheUtil.notNull(userName)) {
			 userName = null;
			}
		 /*if (!BiSheUtil.notNull(userAutho)) {
			 userAutho = null;
			}*/
		 
		  PageInfo page= getPage(pageSize, currentPage); 
		  @SuppressWarnings("unchecked")
		  List<User> userList = (List<User>) userServiceImpl.selectAll(page,depNumber,userNum,userName); 
		  validate(page);
		 
		//默认的pageSize从PageResult中取,如果特定的手动输入
		/*int pageSize = Integer.parseInt(PageResult.getName("pageSize"));
		String currentPage = request.getParameter("number");
		String depNumber = request.getParameter("depNum");
		if (!BiSheUtil.notNull(depNumber)) {
			depNumber = null;
		}
		HashMap pageMap = pageList(pageSize, currentPage, userServiceImpl, depNumber);*/
		// JSONArray pageData = (JSONArray) pageList.get("pageData");
		// pageList从数据库中取出的实体类,可能为空,页面中JS为了防止重复刷新,会根据有没有数据判断
	/*	@SuppressWarnings("unchecked")
		ArrayList<UserPo> userList = (ArrayList<UserPo>) pageMap.get(PageResult.getName("entityList"));
		PageEntity pageEntity = (PageEntity) pageMap.get(PageResult.getName("pageEntity"));*/
		// 判断是否为空
		/*if (userList.isEmpty()) {
			// 如果为空的话加入一个实体类,里面的值为-----
			UserPo empty = new UserPo();
			empty.setAccount("-");
			empty.setPassword("-");
			empty.setUsername("-");
			userList.add(empty);
		}
		*/
		
		
		  //List<Departments> departmentsList = departmentsServiceImpl.selectAll(); 
		 /* for (Departments departments :
		  departmentsList) { for (User user : userList) {
		  if(user.equals(departments.getNumber())){
		  
		  } } }*/
		 
		// request.setAttribute("list", userList);
		// request.setAttribute("pageEntity", pageEntity);
		//HashMap resultMap = new HashMap();
		
		//--------
		/*session.setAttribute("list", userList);
		session.setAttribute("pageEntity", pageEntity);
		session.setAttribute("depNumber", depNumber);
		session.setAttribute("userNum", userNum);
		session.setAttribute("userName", userName);*/
		//-------
		
		//session.setAttribute("userAutho", userAutho);
		// String returnInfo = JSONObject.toJSONString("success");
		HashMap result = new HashMap();
		result.put("arrayList", userList);
		result.put("pageInfo", page);
		String returnInfo = JSONObject.toJSONString(result);
		return returnInfo;
	}


	@RequestMapping(value = "/registerSelect", produces = "text/html;charset=UTF-8", method = RequestMethod.POST)
	@ResponseBody
	public String selectByPrimaryKey(@RequestBody String account) {
		String userAccount = account;
		User user = userServiceImpl.selectByPrimaryKey(userAccount);
		String json = JSONObject.toJSONString(user);
		return json;
	}

	@RequestMapping(value = "/register", produces = "text/html;charset=UTF-8", method = RequestMethod.PUT)
	@ResponseBody
	public String update(User user) throws Exception {
		String res = userServiceImpl.validate(user, UPDATE);
		// String res = userServiceImpl.updateByPrimaryKeySelective(user);
		String returnInfo = JSONObject.toJSONString(res);
		return returnInfo;
	}

	/*
	 * @RequestMapping(value="/userSelectTree",
	 * produces="text/html;charset=UTF-8", method=RequestMethod.PUT)
	 * 
	 * @ResponseBody public String selectByDepNumber( User user) throws
	 * Exception { String res = userServiceImpl.validate(user, UPDATE); //
	 * String res = userServiceImpl.updateByPrimaryKeySelective(user); String
	 * returnInfo = JSONObject.toJSONString(res); return returnInfo; }
	 */
	@RequestMapping(value = "/departmentsDel", produces = "text/html;charset=UTF-8", method = RequestMethod.DELETE)
	@ResponseBody
	// 分页查询
	public String deleteList(@RequestBody String deleteList) {
		String[] delete = deleteList.split(",");
		userServiceImpl.deleteList(delete);
		return "删除成功";
	}

}

 如果也想学习本系统,下面领取。关注并回复:155ssm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/79482.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

陆拾肆- 时序数据的特征化

一、前期大数据状况 进行客户域大数据运营时&#xff0c;一般是在当前状态计算客户的行为特征。 如会建立特征为 近7天是否有登录昨天是否有登录近7天销售情况点击主页后是否有点击下层页面哪个页面点击购买总浏览电子产品的次数占访问次数占比不进行商品浏览&#xff0c;只进…

Codeforces Round #772 (Div. 2) D. Infinite Set

翻译&#xff1a; 给定一个数组&#x1d44e;&#xff0c;该数组由&#x1d45b;个不同的正整数组成。 让我们考虑一个无限整数集&#x1d446;&#xff0c;它包含至少满足以下条件之一的所有整数&#x1d465;: 对于某些1≤&#x1d456;≤&#x1d45b;&#xff0c;&#…

微服务框架 SpringCloud微服务架构 微服务保护 33 授权规则 33.2 自定义异常结果

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护33 授权规则33.2 自定义异常结果33.2.1 自定义异常结果33.2.2 总结33 授权规则 33.2 自定义异常结…

十种类型电感概述

1、工字型电感 它的前身是挠线式贴片电感,工字型电感是它们的改良, 挡板有效加强储能能力,改变EMI方向和大小,亦可降低RDC。它亦可说是讯号通讯电感跟POWER电感的一种妥协。 工字型电感的缺点,仍是开磁路,有EMI的问题, 另外,噪音的问题比挠线式贴片电感大。 2、色环电感 色环电…

java计算机毕业设计ssm学生学习评价与分析系统8ql42(附源码、数据库)

java计算机毕业设计ssm学生学习评价与分析系统8ql42&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&…

C++11标准模板(STL)- 算法(std::set_union)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 数据结构的堆物理结构是数…

IOC 操作 Bean 管理( Bean 的生命周期)

生命周期 从对象创建到对象销毁的过程 Bean 的生命周期 通过构造器创建 Bean 实例&#xff08;无参构造&#xff09;为 Bean 的属性设置值和对其他 Bean 引用&#xff08;调用 set 方法&#xff09;调用 Bean 的初始化的方法&#xff08;需要进行配置&#xff09;Bean 可以使…

Java项目:SSM校园班级同学通讯录管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 管理员角色包含以下功能&#xff1a; 管理员登录,修改管理员资料,用户管理,公告管理,系别信息管理,班级管理,学生通讯录管理等功能。 用户角色包…

微信小程序框架(一)-全面详解(学习总结---从入门到深化)

目录 小程序与普通网页开发的区别 体验小程序 微信小程序账号申请 微信小程序开发者工具 下载安装 创建项目 开发者工具说明 小程序目录结构 描述整体的 app 描述各自页面的 page 全局配置_Pages Pages配置 entryPagePath 快捷生成页面方案 全局配置_window 常用属性…

太卷了,5年Java程序员竟答不出应届生字节二面?

11.22一面过 11.23二面挂 上一个部门寄了&#xff0c;给我换了个流程唉 一面 面试官问我&#xff0c;三面面评这么好为啥不继续了&#xff0c;我纳闷了&#xff0c;不是你们挂的我吗 介绍项目&#xff0c;点赞是怎么考量的&#xff0c;热度点赞问题怎么解决&#xff0c;具体…

【混合网络】

A Novel Adaptive Hybrid Fusion Network for Multiresolution Remote Sensing Images Classificatio &#xff08;一种新的自适应混合融合网络在多分辨率遥感图像分类中的应用&#xff09; 随着对地观测技术的快速发展&#xff0c;全色&#xff08;PAN&#xff09;和多光谱&…

【OpenCV-Python】教程:4-6 FAST (Features from Accelerated Segment Test)算法角点检测

OpenCV Python FAST&#xff08;Features from Accelerated Segment Test&#xff09; 算法角点检测 【目标】 理解FAST算法的理论基础&#xff1b;用OpenCV里的FAST 检测角点&#xff1b; 【理论】 我们看到了几个特征检测器&#xff0c;其中很多都非常好。但是从实时应用…

预训练语言模型

一、预训练 对于一个具有少量数据的任务 A&#xff0c;首先通过一个现有的大量数据搭建一个 CNN 模型 A&#xff0c;由于 CNN的浅层学到的特征通用性特别强&#xff0c;因此在搭建一个 CNN 模型 B&#xff0c;其中模型 B 的浅层参数使用模型 A 的浅层参数&#xff0c;模型 B 的…

Android Studio Dolphin logct日志台新版特性及老版本恢复

Android Studio Dolphin logct日志台新版特性及老版本恢复 日志台在此版本进行了更新&#xff0c;本文按官网描述简要汇总了其新特性和使用方法&#xff0c;以及老版本的日志如何恢复。 老版本日志台恢复 如果是习惯了老版本日志台的仁兄&#xff0c;可按下方截图操作进入Se…

IDEA安装ChatGPT插件步骤

首先感谢大佬的提供的插件【ChatGPT JetBrains插件完整版发布。让AI帮你写代码。-哔哩哔哩】 **前期准备&#xff1a;**需要注册OpenAI账号。不会的可以见我的教程&#xff1a;传送门 1、注册号账号后&#xff0c;打开网站https://chat.openai.com/api/auth/session 复制acess…

TS201的外部中断和定时终端控制FLAG输出(含参考源码)

硬件准备 ADZS-TS201S-EZLITE&#xff1a;ADI TS201开发板 AD-HP560ICE&#xff1a;ADI DSP专用仿真器 软件准备 Visual DSP软件 硬件链接 外部中断控制FLAG输出 原理就不讲了&#xff0c;前面几章都有说。 调试步骤: 1)打开VisualDSP&#xff0c;并新建一个工程文件&am…

C语言刷题系列——8.矩阵的行/列互换

&#x1f6a9;矩阵的行/列互换⛄一) 题目要求⛄二) 题解step1:输入矩阵step2:输入k(执行 行/列 互换操作的次数)step3:&#xff08;循环内部&#xff09;行/列互换step4:打印互换后的矩阵⛄三) 最终的实现⛄一) 题目要求 输入描述&#xff1a;第一行包含两个整数n和m&#xff…

基于pytest来演示一个PO测试模式案例

首先要说的是&#xff0c;这是一个很简易的案例&#xff0c;目的在于体会这样一种结构。 第一部分&#xff1a;基本操作 案例描述&#xff1a;启动浏览器--打开好123--点击logo--跳转到百度--输入搜索词汇--点击按钮开始搜索。 模式描述&#xff1a;这个模式把元素的提取、元…

基于Java实现(WEB)影院管理系统(TMS)【100010015】

电影院系统需求规格说明 1. 引言 1.1 目的 本文档描述了影院管理系统的功能需求和非功能需求。开发小组的软件系统实现与验证工作都以此文档为依据。1.2 范围 影院管理系统是为了xx影院开发的业务系统&#xff0c;开发的目标是帮助该影院处理日常的重点事物&#xff0c;包括…

算法基础篇-03-查找(顺序查找和二分法查找)

1.查找 查找&#xff1a;在一些数据元素中&#xff0c;通过一定的方法找出与给定关键字相同的数据元素的过程&#xff1b;列表查找(线性表查找)&#xff1a;从列表中查找指定元素&#xff1b; 输入&#xff1a; 列表&#xff0c;待查找元素输出&#xff1a;元素下标(未找到元素…