当前位置:实例文章 » JAVA Web实例» [文章]java项目之人事管理系统(ssm+mysql+jsp)

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

其他信息

其他资源

Top