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


    作者主页:夜未央5788

     简介: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/ 登录

    运行截图

     

     

     

     

     

     

     

     

     相关代码

    员工模块

    1. package manage.controller;
    2. import java.util.ArrayList;
    3. import java.util.HashMap;
    4. import java.util.List;
    5. import javax.annotation.Resource;
    6. import javax.servlet.http.HttpServletRequest;
    7. import javax.servlet.http.HttpSession;
    8. import org.apache.log4j.LogManager;
    9. import org.apache.log4j.Logger;
    10. import org.springframework.stereotype.Controller;
    11. import org.springframework.ui.Model;
    12. import org.springframework.web.bind.annotation.RequestBody;
    13. import org.springframework.web.bind.annotation.RequestMapping;
    14. import org.springframework.web.bind.annotation.RequestMethod;
    15. import org.springframework.web.bind.annotation.ResponseBody;
    16. import com.alibaba.fastjson.JSONArray;
    17. import com.alibaba.fastjson.JSONObject;
    18. import manage.base.BaseController;
    19. import manage.model.Departments;
    20. import manage.model.User;
    21. import manage.model.UserPo;
    22. import manage.service.DepartmentsService;
    23. import manage.service.UserService;
    24. import manage.util.BiSheUtil;
    25. import manage.util.PageInfo;
    26. import manage.util.PageResult;
    27. /**
    28. * @author 曲文强
    29. * @version 创建时间:2018.04.18
    30. * @describe: 员工模块
    31. */
    32. @Controller
    33. public class UserController extends BaseController> {
    34. private static Logger logger = LogManager.getLogger(UserController.class);
    35. @Resource
    36. private UserService userServiceImpl;
    37. @Resource
    38. private DepartmentsService departmentsServiceImpl;
    39. @RequestMapping("/add")
    40. public String Register() {
    41. return "index";
    42. }
    43. @RequestMapping(value = "/register", produces = "text/html;charset=UTF-8", method = RequestMethod.DELETE)
    44. @ResponseBody
    45. public String delete(@RequestBody String account) {
    46. System.out.println(account);
    47. String userAccount = account;
    48. userServiceImpl.deleteByPrimaryKey(userAccount);
    49. // String returnInfo = JSONObject.toJSONString("删除成功");
    50. return "删除成功";
    51. }
    52. @RequestMapping(value = "/register", produces = "text/html;charset=UTF-8", method = RequestMethod.POST)
    53. @ResponseBody
    54. public String add(User user) throws Exception {
    55. String res = userServiceImpl.validate(user, INSERT);
    56. // String res = userServiceImpl.insertAdd(user);
    57. String returnInfo = JSONObject.toJSONString(res);
    58. return returnInfo;
    59. }
    60. @RequestMapping(value = "/register", produces = "text/html;charset=UTF-8", method = RequestMethod.GET)
    61. @ResponseBody
    62. // 分页查询
    63. public String find(HttpServletRequest request) {
    64. // ,HttpSession session
    65. // 从分页工具中得到数据库查询的数据和page的信息
    66. //int pageSize = Integer.parseInt(PageResult.getName("pageSize"));
    67. String pageSize = request.getParameter("pageSize");
    68. String currentPage = request.getParameter("currentPage");
    69. String depNumber = request.getParameter("depNum");
    70. String userNum = request.getParameter("userNum");
    71. String userName = request.getParameter("userName");
    72. //String userAutho = request.getParameter("userAutho");
    73. if (!BiSheUtil.notNull(depNumber)) {
    74. depNumber = null;
    75. }
    76. if (!BiSheUtil.notNull(userNum)) {
    77. userNum = null;
    78. }
    79. if (!BiSheUtil.notNull(userName)) {
    80. userName = null;
    81. }
    82. /*if (!BiSheUtil.notNull(userAutho)) {
    83. userAutho = null;
    84. }*/
    85. PageInfo page= getPage(pageSize, currentPage);
    86. @SuppressWarnings("unchecked")
    87. List userList = (List) userServiceImpl.selectAll(page,depNumber,userNum,userName);
    88. validate(page);
    89. //默认的pageSize从PageResult中取,如果特定的手动输入
    90. /*int pageSize = Integer.parseInt(PageResult.getName("pageSize"));
    91. String currentPage = request.getParameter("number");
    92. String depNumber = request.getParameter("depNum");
    93. if (!BiSheUtil.notNull(depNumber)) {
    94. depNumber = null;
    95. }
    96. HashMap pageMap = pageList(pageSize, currentPage, userServiceImpl, depNumber);*/
    97. // JSONArray pageData = (JSONArray) pageList.get("pageData");
    98. // pageList从数据库中取出的实体类,可能为空,页面中JS为了防止重复刷新,会根据有没有数据判断
    99. /* @SuppressWarnings("unchecked")
    100. ArrayList userList = (ArrayList) pageMap.get(PageResult.getName("entityList"));
    101. PageEntity pageEntity = (PageEntity) pageMap.get(PageResult.getName("pageEntity"));*/
    102. // 判断是否为空
    103. /*if (userList.isEmpty()) {
    104. // 如果为空的话加入一个实体类,里面的值为-----
    105. UserPo empty = new UserPo();
    106. empty.setAccount("-");
    107. empty.setPassword("-");
    108. empty.setUsername("-");
    109. userList.add(empty);
    110. }
    111. */
    112. //List departmentsList = departmentsServiceImpl.selectAll();
    113. /* for (Departments departments :
    114. departmentsList) { for (User user : userList) {
    115. if(user.equals(departments.getNumber())){
    116. } } }*/
    117. // request.setAttribute("list", userList);
    118. // request.setAttribute("pageEntity", pageEntity);
    119. //HashMap resultMap = new HashMap();
    120. //--------
    121. /*session.setAttribute("list", userList);
    122. session.setAttribute("pageEntity", pageEntity);
    123. session.setAttribute("depNumber", depNumber);
    124. session.setAttribute("userNum", userNum);
    125. session.setAttribute("userName", userName);*/
    126. //-------
    127. //session.setAttribute("userAutho", userAutho);
    128. // String returnInfo = JSONObject.toJSONString("success");
    129. HashMap result = new HashMap();
    130. result.put("arrayList", userList);
    131. result.put("pageInfo", page);
    132. String returnInfo = JSONObject.toJSONString(result);
    133. return returnInfo;
    134. }
    135. @RequestMapping(value = "/registerSelect", produces = "text/html;charset=UTF-8", method = RequestMethod.POST)
    136. @ResponseBody
    137. public String selectByPrimaryKey(@RequestBody String account) {
    138. String userAccount = account;
    139. User user = userServiceImpl.selectByPrimaryKey(userAccount);
    140. String json = JSONObject.toJSONString(user);
    141. return json;
    142. }
    143. @RequestMapping(value = "/register", produces = "text/html;charset=UTF-8", method = RequestMethod.PUT)
    144. @ResponseBody
    145. public String update(User user) throws Exception {
    146. String res = userServiceImpl.validate(user, UPDATE);
    147. // String res = userServiceImpl.updateByPrimaryKeySelective(user);
    148. String returnInfo = JSONObject.toJSONString(res);
    149. return returnInfo;
    150. }
    151. /*
    152. * @RequestMapping(value="/userSelectTree",
    153. * produces="text/html;charset=UTF-8", method=RequestMethod.PUT)
    154. *
    155. * @ResponseBody public String selectByDepNumber( User user) throws
    156. * Exception { String res = userServiceImpl.validate(user, UPDATE); //
    157. * String res = userServiceImpl.updateByPrimaryKeySelective(user); String
    158. * returnInfo = JSONObject.toJSONString(res); return returnInfo; }
    159. */
    160. @RequestMapping(value = "/departmentsDel", produces = "text/html;charset=UTF-8", method = RequestMethod.DELETE)
    161. @ResponseBody
    162. // 分页查询
    163. public String deleteList(@RequestBody String deleteList) {
    164. String[] delete = deleteList.split(",");
    165. userServiceImpl.deleteList(delete);
    166. return "删除成功";
    167. }
    168. }

    TrainController

    1. package manage.controller;
    2. import org.springframework.beans.factory.annotation.Autowired;
    3. import org.springframework.stereotype.Controller;
    4. import org.springframework.web.bind.annotation.RequestBody;
    5. import org.springframework.web.bind.annotation.RequestMapping;
    6. import org.springframework.web.bind.annotation.RequestMethod;
    7. import org.springframework.web.bind.annotation.RequestParam;
    8. import org.springframework.web.bind.annotation.ResponseBody;
    9. import org.springframework.web.servlet.ModelAndView;
    10. import com.alibaba.fastjson.JSONObject;
    11. import javax.servlet.http.HttpServletRequest;
    12. import manage.model.Departments;
    13. import manage.model.Employee;
    14. import manage.model.Train;
    15. import manage.service.DepartmentsService;
    16. import manage.service.EmployeeService;
    17. import manage.service.TrainService;
    18. import manage.util.PageInfo;
    19. import manage.base.BaseController;
    20. import java.util.*;
    21. @Controller
    22. @RequestMapping("/")
    23. public class TrainController extends BaseController> {
    24. @Autowired
    25. private TrainService trainService;
    26. /*
    27. * @author
    28. * @description
    29. * @date
    30. */
    31. @RequestMapping(value = "train", produces = "text/html;charset=UTF-8", method = RequestMethod.GET)
    32. @ResponseBody
    33. public String find(HttpServletRequest request) {
    34. String pageSize = request.getParameter("pageSize");
    35. String currentPage = request.getParameter("currentPage");
    36. PageInfo page = getPage(pageSize, currentPage);
    37. @SuppressWarnings("unchecked")
    38. List trainList = (List) trainService.selectAll(page);
    39. validate(page);
    40. HashMap result = new HashMap();
    41. result.put("arrayList", trainList );
    42. result.put("pageInfo", page);
    43. String returnInfo = JSONObject.toJSONString(result);
    44. return returnInfo;
    45. }
    46. @RequestMapping(value = "train", produces = "text/html;charset=UTF-8", method = RequestMethod.POST)
    47. @ResponseBody
    48. public String add(Train train) throws Exception {
    49. String res = trainService.validate(train, INSERT);
    50. String returnInfo = JSONObject.toJSONString(res);
    51. return returnInfo;
    52. }
    53. @RequestMapping(value = "trainSelect", produces = "text/html;charset=UTF-8", method = RequestMethod.POST)
    54. @ResponseBody
    55. public String selectByPrimaryKey(@RequestBody String account) {
    56. String tid = account;
    57. Train train =(Train) trainService.selectByPrimaryKey(tid);
    58. String json = JSONObject.toJSONString(train);
    59. return json;
    60. }
    61. @RequestMapping(value = "train", produces = "text/html;charset=UTF-8", method = RequestMethod.PUT)
    62. @ResponseBody
    63. public String update(Train train) throws Exception {
    64. String res = trainService.validate(train, UPDATE);
    65. String returnInfo = JSONObject.toJSONString(res);
    66. return returnInfo;
    67. }
    68. @RequestMapping(value = "train", produces = "text/html;charset=UTF-8", method = RequestMethod.DELETE)
    69. @ResponseBody
    70. public String delete(@RequestBody String number) throws Exception {
    71. String tid = number;
    72. trainService.deleteByPrimaryKey(tid);
    73. return "删除成功";
    74. }
    75. }

    员工部门

    1. package manage.controller;
    2. import org.springframework.beans.factory.annotation.Autowired;
    3. import org.springframework.stereotype.Controller;
    4. import org.springframework.web.bind.annotation.RequestBody;
    5. import org.springframework.web.bind.annotation.RequestMapping;
    6. import org.springframework.web.bind.annotation.RequestMethod;
    7. import org.springframework.web.bind.annotation.ResponseBody;
    8. import com.alibaba.fastjson.JSONObject;
    9. import javax.servlet.http.HttpServletRequest;
    10. import javax.servlet.http.HttpSession;
    11. import manage.model.Departments;
    12. import manage.model.User;
    13. import manage.service.DepartmentsService;
    14. import manage.util.BiSheUtil;
    15. import manage.util.PageInfo;
    16. import manage.base.BaseController;
    17. import java.util.*;
    18. /**
    19. * @author 曲文强
    20. * @version 创建时间:2018.04.18
    21. * @describe: 员工部门
    22. */
    23. @Controller
    24. @RequestMapping("/")
    25. public class DepartmentsController extends BaseController> {
    26. @Autowired
    27. private DepartmentsService departmentsService;
    28. /*
    29. * @author
    30. *
    31. * @description
    32. *
    33. * @date
    34. */
    35. @RequestMapping(value = "departments", produces = "text/html;charset=UTF-8", method = RequestMethod.POST)
    36. @ResponseBody
    37. public String add(Departments departments) throws Exception {
    38. String res = departmentsService.validate(departments, INSERT);
    39. // String res = userServiceImpl.insertAdd(user);
    40. String returnInfo = JSONObject.toJSONString(res);
    41. return returnInfo;
    42. }
    43. @RequestMapping(value = "departments", produces = "text/html;charset=UTF-8", method = RequestMethod.PUT)
    44. @ResponseBody
    45. public String update(Departments departments) throws Exception {
    46. String res = departmentsService.validate(departments, UPDATE);
    47. // String res = userServiceImpl.updateByPrimaryKeySelective(user);
    48. String returnInfo = JSONObject.toJSONString(res);
    49. return returnInfo;
    50. }
    51. @RequestMapping(value = "departments", produces = "text/html;charset=UTF-8", method = RequestMethod.GET)
    52. @ResponseBody
    53. public String find(HttpServletRequest request) {
    54. String pageSize = request.getParameter("pageSize");
    55. String currentPage = request.getParameter("currentPage");
    56. String depNum = request.getParameter("depNum");
    57. String depName = request.getParameter("depName");
    58. if (!BiSheUtil.notNull(depNum)) {
    59. depNum = null;
    60. }
    61. if (!BiSheUtil.notNull(depName)) {
    62. depName = null;
    63. }
    64. PageInfo page= getPage(pageSize, currentPage);
    65. @SuppressWarnings("unchecked")
    66. List departmentsList = (List) departmentsService.selectAll(page,depNum,depName);
    67. validate(page);
    68. HashMap result = new HashMap();
    69. result.put("arrayList", departmentsList);
    70. result.put("pageInfo", page);
    71. String returnInfo = JSONObject.toJSONString(result);
    72. return returnInfo;
    73. }
    74. @RequestMapping(value = "departmentsSelect", produces = "text/html;charset=UTF-8", method = RequestMethod.POST)
    75. @ResponseBody
    76. public String selectByPrimaryKey(@RequestBody String account) {
    77. String depNumber = account;
    78. Departments departments = departmentsService.selectByPrimaryKey(depNumber);
    79. String json = JSONObject.toJSONString(departments);
    80. return json;
    81. }
    82. @RequestMapping(value = "departments", produces = "text/html;charset=UTF-8", method = RequestMethod.DELETE)
    83. @ResponseBody
    84. public String delete(@RequestBody String number) throws Exception {
    85. String depNumber = number;
    86. String info = departmentsService.deleteByPrimary(depNumber);
    87. return info;
    88. }
    89. }

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

  • 相关阅读:
    Flutter 自签名证书
    全面认识痛风:症状、风险因素、发病机理及管理
    C++正则表达式
    uni-app 小宠物 - 会说话的小鸟
    微擎小程序获取不到头像和昵称解决方案
    干货分享:PDF转Excel工具都在这里了,不要错过
    2022最新 MySQL 内部技术架构面试题
    数据库内核面试中我不会的问题(3)
    商陆花、秦丝、管家婆,到底服装加盟管理软件哪家强?来看排行榜
    leetcode-比较版本号-88
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/126474713