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 {
List selectAll();
}
**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 {
List selectAll();
}
**Department.java**
javapublic class Department {
private int id;
private String name;
// getters and setters}
**PositionMapper.java**
javapublic interface PositionMapper {
List selectAll();
}
**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) {
List employees = 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) {
List employees = 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

