员工管理系统实战:JDBC操作SQL实现员工入职、离职、调薪及分页查询

本教程将带领你使用JDBC连接数据库,并通过SQL语句实现员工管理系统中的核心功能,包括员工入职、离职、调薪、查询部门员工以及分页查询员工等操作。详细讲解代码实现过程,帮助你快速上手员工管理系统的开发。

1. 数据准备

首先,我们需要创建一个名为'employee'的员工表,并添加一些测试数据。以下SQL语句用于创建表和插入数据:

/*
Navicat Premium Data Transfer
Source Server : myconn
Source Server Type : MySQL
Source Server Version : 80031
Source Host : localhost:3306
Source Schema : xja
Target Server Type : MySQL
Target Server Version : 80031
File Encoding : 65001
Date: 06/08/2023 22:24:23
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for employee
-- ----------------------------
DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
`eno` int(0) NOT NULL,
`ename` varchar(64) CHARACTER SET utf8mb4 NOT NULL,
`salary` float(10, 2) NOT NULL,
`dname` varchar(64) CHARACTER SET utf8mb4 NOT NULL,
`hiredate` varchar(20) NULL DEFAULT NULL,
PRIMARY KEY (`eno`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of employee
-- ----------------------------
INSERT INTO `employee` VALUES (1000, '员工1000', 5000.00, '市场部', '1992-03-04');
INSERT INTO `employee` VALUES (1001, '员工1001', 3500.00, '市场部', '1988-02-18');
INSERT INTO `employee` VALUES (1002, '员工1002', 4000.00, '市场部', '1996-02-01');
INSERT INTO `employee` VALUES (1003, '员工1003', 4000.00, '市场部', '2001-08-21');
INSERT INTO `employee` VALUES (1004, '员工1004', 4000.00, '市场部', '2003-01-02');
INSERT INTO `employee` VALUES (1005, '员工1005', 4000.00, '市场部', '1996-07-28');
INSERT INTO `employee` VALUES (1006, '员工1006', 4000.00, '市场部', '1999-12-30');
INSERT INTO `employee` VALUES (1007, '员工1007', 4000.00, '市场部', '2009-05-30');
INSERT INTO `employee` VALUES (1008, '员工1008', 4000.00, '市场部', '1984-05-30');
INSERT INTO `employee` VALUES (1009, '员工1009', 4000.00, '市场部', '2004-05-07');
INSERT INTO `employee` VALUES (3308, '张三', 6000.00, '研发部', '2011-05-08');
INSERT INTO `employee` VALUES (3420, '李四', 8700.00, '研发部', '2006-11-11');
INSERT INTO `employee` VALUES (3610, '王五', 4550.00, '市场部', '2009-10-01');
SET FOREIGN_KEY_CHECKS = 1;

2. 功能实现

以下功能将在Idea的控制台中使用JDBC实现:

  • 查询部门员工
    • 使用JDBC编写代码,连接数据库,执行SQL语句实现查询部门员工的功能。SQL语句如下:
    SELECT * FROM employee WHERE dname = '市场部';
    
  • 办理员工入职
    • 使用JDBC编写代码,连接数据库,执行SQL语句实现办理员工入职的功能。SQL语句如下:
    INSERT INTO employee VALUES (1010, '员工1010', 4000.00, '市场部', '2023-06-09');
    
  • 调整员工薪资
    • 使用JDBC编写代码,连接数据库,执行SQL语句实现调整员工薪资的功能。SQL语句如下:
    UPDATE employee SET salary = 4500.00 WHERE eno = 1000;
    
  • 员工离职
    • 使用JDBC编写代码,连接数据库,执行SQL语句实现员工离职的功能。SQL语句如下:
    DELETE FROM employee WHERE eno = 1000;
    
  • 分页查询员工
    • 使用JDBC编写代码,连接数据库,执行SQL语句实现分页查询员工的功能。SQL语句如下:
    SELECT * FROM employee LIMIT 0,5;
    
    其中0表示起始位置,5表示每页显示的记录数。可以根据需要修改起始位置和每页显示的记录数。

3. 代码示例

以下是一个使用JDBC连接数据库并执行SQL语句的示例代码:

import java.sql.*;

public class EmployeeManager {

    public static void main(String[] args) {
        // 数据库连接信息
        String url = 'jdbc:mysql://localhost:3306/xja';
        String user = 'root';
        String password = '你的密码';

        try (Connection conn = DriverManager.getConnection(url, user, password); 
             Statement stmt = conn.createStatement()) {
            // 查询部门员工
            String sql = 'SELECT * FROM employee WHERE dname = '市场部'';
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
                System.out.println(rs.getInt('eno') + ', ' + rs.getString('ename') + ', ' + rs.getFloat('salary') + ', ' + rs.getString('dname') + ', ' + rs.getString('hiredate'));
            }

            // 办理员工入职
            sql = 'INSERT INTO employee VALUES (1010, '员工1010', 4000.00, '市场部', '2023-06-09')';
            int rowsAffected = stmt.executeUpdate(sql);
            System.out.println('添加了 ' + rowsAffected + ' 行数据。');

            // 调整员工薪资
            sql = 'UPDATE employee SET salary = 4500.00 WHERE eno = 1000';
            rowsAffected = stmt.executeUpdate(sql);
            System.out.println('更新了 ' + rowsAffected + ' 行数据。');

            // 员工离职
            sql = 'DELETE FROM employee WHERE eno = 1000';
            rowsAffected = stmt.executeUpdate(sql);
            System.out.println('删除了 ' + rowsAffected + ' 行数据。');

            // 分页查询员工
            sql = 'SELECT * FROM employee LIMIT 0,5';
            rs = stmt.executeQuery(sql);
            while (rs.next()) {
                System.out.println(rs.getInt('eno') + ', ' + rs.getString('ename') + ', ' + rs.getFloat('salary') + ', ' + rs.getString('dname') + ', ' + rs.getString('hiredate'));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

注意:

  • 以上代码仅供参考,你需要根据实际情况修改数据库连接信息、SQL语句以及代码逻辑。
  • 请确保你的数据库已成功安装并配置,并且你拥有相应的数据库访问权限。
  • 以上代码示例仅展示了基本的数据库操作,实际应用中可能需要更复杂的逻辑和错误处理机制。

通过本教程,你将学会使用JDBC连接数据库并执行SQL语句,从而实现基本的员工管理系统功能。希望本教程能够帮助你快速上手员工管理系统的开发。

更多学习资源:

员工管理系统实战:JDBC操作SQL实现员工入职、离职、调薪及分页查询

原文地址: https://www.cveoy.top/t/topic/oxV3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录