Java人事题 离职原因实现流程

1. 确定需求

在开始实现之前,我们需要明确项目的需求和目标。在这个任务中,我们需要实现一个人事题,即获取离职员工的原因。

2. 数据库设计

在数据库中,我们需要创建一个员工表来存储员工信息,并在离职原因表中记录员工的离职原因。 以下是员工表的结构:

字段名 类型 说明
id int 员工ID
name varchar 员工姓名
age int 员工年龄
gender varchar 员工性别
status varchar 员工状态

以下是离职原因表的结构:

字段名 类型 说明
employee_id int 员工ID
reason varchar 离职原因
date datetime 离职日期

3. 创建数据库表

在 Java 代码中,我们可以使用 SQL 语句来创建数据库表。在这个任务中,我们需要创建员工表和离职原因表。

CREATE TABLE employee (
    id INT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    gender VARCHAR(10),
    status VARCHAR(20)
);

CREATE TABLE resignation (
    employee_id INT,
    reason VARCHAR(100),
    date DATETIME,
    FOREIGN KEY (employee_id) REFERENCES employee(id)
);

4. 插入员工信息

在这一步中,我们需要向员工表中插入一些员工信息。

INSERT INTO employee (id, name, age, gender, status)
VALUES (1, '张三', 25, '男', '在职');

INSERT INTO employee (id, name, age, gender, status)
VALUES (2, '李四', 30, '女', '离职');

INSERT INTO employee (id, name, age, gender, status)
VALUES (3, '王五', 28, '男', '在职');

5. 插入离职原因

在这一步中,我们需要向离职原因表中插入离职员工的原因。

INSERT INTO resignation (employee_id, reason, date)
VALUES (2, '个人发展', '2022-01-01');

INSERT INTO resignation (employee_id, reason, date)
VALUES (3, '薪酬不满意', '2022-02-01');

6. 查询离职原因

现在,我们已经成功地插入了员工信息和离职原因。接下来,我们需要查询指定员工的离职原因。

SELECT name, reason FROM employee
JOIN resignation ON employee.id = resignation.employee_id
WHERE employee.id = 2;

以上代码将会返回员工姓名为李四的离职原因。

7. 整合代码

最后,我们将以上的代码整合到一个 Java 类中。

import java.sql.*;

public class ResignationReason {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            // 连接数据库
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/company", "root", "password");
            
            // 执行查询
            stmt = conn.createStatement();
            rs = stmt.executeQuery("SELECT name, reason FROM employee JOIN resignation ON employee.id = resignation.employee_id WHERE employee.id = 2");

            // 输出查询结果
            while (rs.next()) {
                String name = rs.getString("name");
                String reason = rs.getString("reason");
                System.out.println("员工姓名:" + name);
                System.out.println("离职原因:" + reason);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭连接
            try {
                if (rs != null) {
                    rs.close();
                }
                if (stmt != null) {
                    stmt.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

总结

通过以上的步骤,我们成功地实现了获取离职原因的功能。从数据表的设计到代码的编写