java项目之人事管理系统(ssm+mysql+jsp)
发布人:shili8
发布时间:2025-02-28 15:50
阅读次数:0
**Java项目之人事管理系统**
**概述**
本文将介绍如何使用 SSM 框架(Spring + SpringMVC + MyBatis)搭建一个基本的人事管理系统。该系统将包括员工信息、部门信息和职位信息等功能。
**技术栈**
* Java8* Spring4.3.12* Spring MVC4.3.12* MyBatis3.5.9* MySQL5.7**系统设计**
1. **员工信息**
* 员工编号(ID)
* 员工姓名 * 部门编号(部门 ID)
* 职位编号(职位 ID)
2. **部门信息**
* 部门编号(ID)
* 部门名称3. **职位信息**
* 职位编号(ID)
* 职位名称**数据库设计**
sqlCREATE TABLE `employee` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `department_id` int(11) DEFAULT NULL, `position_id` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `department` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `position` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) );
**Spring MVC 配置**
java@Configuration@ComponentScan(basePackages = "com.example") @EnableWebMvcpublic class WebConfig extends WebMvcConfigurerAdapter { @Bean public ViewResolver viewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".jsp"); return resolver; } @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } }
**MyBatis 配置**
xml<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config3.0//EN" " /><configuration> <settings> <setting name="cacheEnabled" value="true"/> </settings> <typeAliases> <typeAlias type="com.example.model.Employee" alias="Employee"/> <typeAlias type="com.example.model.Department" alias="Department"/> <typeAlias type="com.example.model.Position" alias="Position"/> </typeAliases> <mappers> <mapper class="com.example.mapper.EmployeeMapper"/> <mapper class="com.example.mapper.DepartmentMapper"/> <mapper class="com.example.mapper.PositionMapper"/> </mappers> </configuration>
**EmployeeMapper.java**
javapublic interface EmployeeMapper { ListselectAll(); }
**Employee.java**
javapublic class Employee { private int id; private String name; private Department department; private Position position; // getters and setters}
**DepartmentMapper.java**
javapublic interface DepartmentMapper { ListselectAll(); }
**Department.java**
javapublic class Department { private int id; private String name; // getters and setters}
**PositionMapper.java**
javapublic interface PositionMapper { ListselectAll(); }
**Position.java**
javapublic class Position { private int id; private String name; // getters and setters}
**EmployeeController.java**
java@Controller@RequestMapping("/employee") public class EmployeeController { @Autowired private EmployeeMapper employeeMapper; @GetMapping public String selectAll(Model model) { Listemployees = employeeMapper.selectAll(); model.addAttribute("employees", employees); return "employee/list"; } }
**index.jsp**
jsp<%@ page contentType="text/html;charset=UTF-8" language="java"%> <html> <head> <title>Employee List</title> </head> <body> <h1>Employee List</h1> <table border="1"> <tr> <th>ID</th> <th>Name</th> <th>Department ID</th> <th>Position ID</th> </tr> <c:forEach items="${employees}" var="employee"> <tr> <td>${employee.id}</td> <td>${employee.name}</td> <td>${employee.department.id}</td> <td>${employee.position.id}</td> </tr> </c:forEach> </table> </body> </html>
**department.jsp**
jsp<%@ page contentType="text/html;charset=UTF-8" language="java"%> <html> <head> <title>Department List</title> </head> <body> <h1>Department List</h1> <table border="1"> <tr> <th>ID</th> <th>Name</th> </tr> <c:forEach items="${departments}" var="department"> <tr> <td>${department.id}</td> <td>${department.name}</td> </tr> </c:forEach> </table> </body> </html>
**position.jsp**
jsp<%@ page contentType="text/html;charset=UTF-8" language="java"%> <html> <head> <title>Position List</title> </head> <body> <h1>Position List</h1> <table border="1"> <tr> <th>ID</th> <th>Name</th> </tr> <c:forEach items="${positions}" var="position"> <tr> <td>${position.id}</td> <td>${position.name}</td> </tr> </c:forEach> </table> </body> </html>
**EmployeeController.java**
java@Controller@RequestMapping("/employee") public class EmployeeController { @Autowired private EmployeeMapper employeeMapper; @GetMapping public String selectAll(Model model) { Listemployees = employeeMapper.selectAll(); model.addAttribute("employees", employees); return "employee/list"; } @GetMapping("/{id}") public String selectById(@PathVariable int id, Model model) { Employee employee = employeeMapper.selectById(id); model.addAttribute("employee", employee); return "employee/detail"; } }
**index.jsp**
jsp<%@ page contentType="text/html;charset=UTF-8" language="java"%> <html> <head> <title>Employee List</title> </head> <body> <h1>Employee List</h1> <table border="1"> <tr> <th>ID</th> <th>Name</th> <th>Department ID</th> <th>Position ID</th> </tr> <c:forEach items="${employees}" var="employee"> <tr> <td><a href="${pageContext.request.contextPath}/employee/${employee.id}">${employee.id}</a></td> <td>${employee.name}</td> <td>${employee.department.id}</td> <td>${employee.position.id}</td> </tr> </c:forEach> </table> </body> </html>
**department.jsp**
jsp<%@ page contentType="text/html;charset=UTF-8" language="java"%> <html> <head> <title>Department List</title> </head> <body> <h1>Department List</h1> <table border="1"> <tr> <th>ID</th> <th>Name</th> </tr> <c:forEach items="${departments}" var="department"> <tr> <td><a href="${pageContext.request.contextPath}/department/${department.id}">${department.id}</a></td> <td>${department.name}</td> </tr> </c:forEach> </table> </body> </html>
**position.jsp**
jsp<%@ page contentType="text/html;charset=UTF-8" language="java"%> <html> <head> <title>Position List</title> </head> <body> <h1>Position List</h1> <table border="1"> <tr> <th>ID</th> <th>Name</th> </tr> <c:forEach items="${positions}" var="position"> <tr> <td><a href="${pageContext.request.contextPath}/position/${position.id}">${position.id}</a></td> <td>${position.name}</td> </tr> </c:forEach> </table> </body> </html>
**EmployeeController.java**
java@Controller@RequestMapping("/employee") public class EmployeeController { @Autowired