import javax.swing.; import javax.swing.border.EmptyBorder; import java.awt.; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.*; import java.util.Scanner;

public class ResumeSystem { private static final String DB_URL = "jdbc:sqlserver://localhost:1433;databaseName=resume_db"; private static final String USER = "sa"; private static final String PASSWORD = "password";

private static JFrame frame;
private static JPanel panel;
private static JTextArea textArea;

public static void main(String[] args) {
    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (Exception e) {
        e.printStackTrace();
    }

    frame = new JFrame("个人简历管理系统");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(800, 600);

    panel = new JPanel(new BorderLayout());
    panel.setBorder(new EmptyBorder(20, 20, 20, 20));

    textArea = new JTextArea();
    textArea.setEditable(false);
    textArea.setFont(new Font("宋体", Font.PLAIN, 16));
    JScrollPane scrollPane = new JScrollPane(textArea);
    panel.add(scrollPane, BorderLayout.CENTER);

    JMenuBar menuBar = new JMenuBar();
    frame.setJMenuBar(menuBar);

    JMenu menuFile = new JMenu("文件");
    menuBar.add(menuFile);

    JMenuItem menuItemExit = new JMenuItem("退出");
    menuItemExit.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            System.exit(0);
        }
    });
    menuFile.add(menuItemExit);

    JMenu menuResume = new JMenu("个人简历");
    menuBar.add(menuResume);

    JMenuItem menuItemInsert = new JMenuItem("录入");
    menuItemInsert.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                insertResume(getConnection(), new Scanner(System.in));
                viewResume(getConnection());
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    });
    menuResume.add(menuItemInsert);

    JMenuItem menuItemView = new JMenuItem("浏览");
    menuItemView.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                viewResume(getConnection());
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    });
    menuResume.add(menuItemView);

    JMenuItem menuItemQuery = new JMenuItem("查询");
    menuItemQuery.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                queryResume(getConnection(), new Scanner(System.in));
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    });
    menuResume.add(menuItemQuery);

    JMenuItem menuItemDelete = new JMenuItem("删除");
    menuItemDelete.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                deleteResume(getConnection(), new Scanner(System.in));
                viewResume(getConnection());
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    });
    menuResume.add(menuItemDelete);

    JMenuItem menuItemUpdate = new JMenuItem("修改");
    menuItemUpdate.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                updateResume(getConnection(), new Scanner(System.in));
                viewResume(getConnection());
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    });
    menuResume.add(menuItemUpdate);

    JMenuItem menuItemAdd = new JMenuItem("增加");
    menuItemAdd.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                addResume(getConnection(), new Scanner(System.in));
                viewResume(getConnection());
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    });
    menuResume.add(menuItemAdd);

    frame.setContentPane(panel);
    frame.setVisible(true);
}

// 创建表
private static void createTable(Connection conn) throws SQLException {
    try (Statement stmt = conn.createStatement()) {
        String sql = "CREATE TABLE resume (" +
                "id INT IDENTITY(1,1) PRIMARY KEY," +
                "name VARCHAR(50) NOT NULL," +
                "gender VARCHAR(10) NOT NULL," +
                "birthdate DATE NOT NULL," +
                "id_number VARCHAR(20) NOT NULL UNIQUE," +
                "phone VARCHAR(20) NOT NULL," +
                "email VARCHAR(50) NOT NULL");"
        stmt.executeUpdate(sql);
    }
}

// 个人简历信息录入
private static void insertResume(Connection conn, Scanner scanner) throws SQLException {
    System.out.print("请输入姓名:");
    String name = scanner.nextLine();
    System.out.print("请输入性别(男/女):");
    String gender = scanner.nextLine();
    System.out.print("请输入出生日期(格式为yyyy-MM-dd):");
    String birthdate = scanner.nextLine();
    System.out.print("请输入身份证号:");
    String idNumber = scanner.nextLine();
    System.out.print("请输入电话号码:");
    String phone = scanner.nextLine();
    System.out.print("请输入电子邮件地址:");
    String email = scanner.nextLine();

    String sql = "INSERT INTO resume (name, gender, birthdate, id_number, phone, email) VALUES (?, ?, ?, ?, ?, ?)";
    try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
        pstmt.setString(1, name);
        pstmt.setString(2, gender);
        pstmt.setDate(3, Date.valueOf(birthdate));
        pstmt.setString(4, idNumber);
        pstmt.setString(5, phone);
        pstmt.setString(6, email);
        pstmt.executeUpdate();
    }
    textArea.setText("个人简历信息录入成功。\n");
}

// 个人简历信息浏览
private static void viewResume(Connection conn) throws SQLException {
    try (Statement stmt = conn.createStatement()) {
        String sql = "SELECT * FROM resume";
        ResultSet rs = stmt.executeQuery(sql);
        StringBuilder sb = new StringBuilder();
        while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            String gender = rs.getString("gender");
            Date birthdate = rs.getDate("birthdate");
            String idNumber = rs.getString("id_number");
            String phone = rs.getString("phone");
            String email = rs.getString("email");
            sb.append("ID:").append(id).append("\n");
            sb.append("姓名:").append(name).append("\n");
            sb.append("性别:").append(gender).append("\n");
            sb.append("出生日期:").append(birthdate).append("\n");
            sb.append("身份证号:").append(idNumber).append("\n");
            sb.append("电话号码:").append(phone).append("\n");
            sb.append("电子邮件地址:").append(email).append("\n\n");
        }
        textArea.setText(sb.toString());
    }
}

// 按身份证号查询信息
private static void queryResume(Connection conn, Scanner scanner) throws SQLException {
    System.out.print("请输入要查询信息的身份证号:");
    String idNumber = scanner.nextLine();
    String sql = "SELECT * FROM resume WHERE id_number = ?";
    try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
        pstmt.setString(1, idNumber);
        ResultSet rs = pstmt.executeQuery();
        StringBuilder sb = new StringBuilder();
        if (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            String gender = rs.getString("gender");
            Date birthdate = rs.getDate("birthdate");
            String phone = rs.getString("phone");
            String email = rs.getString("email");
            sb.append("ID:").append(id).append("\n");
            sb.append("姓名:").append(name).append("\n");
            sb.append("性别:").append(gender).append("\n");
            sb.append("出生日期:").append(birthdate).append("\n");
            sb.append("身份证号:").append(idNumber).append("\n");
            sb.append("电话号码:").append(phone).append("\n");
            sb.append("电子邮件地址:").append(email).append("\n\n");
        } else {
            sb.append("身份证号对应的个人简历信息不存在。\n");
        }
        textArea.setText(sb.toString());
    }
}

// 个人简历信息删除
private static void deleteResume(Connection conn, Scanner scanner) throws SQLException {
    System.out.print("请输入要删除信息的身份证号:");
    String idNumber = scanner.nextLine();
    String sql = "DELETE FROM resume WHERE id_number = ?";
    try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
        pstmt.setString(1, idNumber);
        int count = pstmt.executeUpdate();
        if (count > 0) {
            textArea.setText("个人简历信息删除成功。\n");
        } else {
            textArea.setText("身份证号对应的个人简历信息不存在。\n");
        }
    }
}

// 个人简历信息修改
private static void updateResume(Connection conn, Scanner scanner) throws SQLException {
    System.out.print("请输入要修改信息的身份证号:");
    String idNumber = scanner.nextLine();
    String sql = "SELECT * FROM resume WHERE id_number = ?";
    try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
        pstmt.setString(1, idNumber);
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            System.out.print("请输入要修改的项(姓名/性别/出生日期/电话号码/电子邮件地址):");
            String field = scanner.nextLine();
            System.out.print("请输入要修改的值:");
            String value = scanner.nextLine();

            String updateSql = "UPDATE resume SET " + field + " = ? WHERE id_number = ?";
            try (PreparedStatement updateStmt = conn.prepareStatement(updateSql)) {
                updateStmt.setString(1, value);
                updateStmt.setString(2, idNumber);
                updateStmt.executeUpdate();
            }
            textArea.setText("个人简历信息修改成功。\n");
        } else {
            textArea.setText("身份证号对应的个人简历信息不存在。\n");
        }
    }
}

// 增加个人简历信息
private static void addResume(Connection conn, Scanner scanner) throws SQLException {
    System.out.print("请输入要增加信息的身份证号:");
    String idNumber = scanner.nextLine();
    String sql = "SELECT * FROM resume WHERE id_number = ?";
    try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
        pstmt.setString(1, idNumber);
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            System.out.print("请输入要增加的项(姓名/性别/出生日期/电话号码/电子邮件地址):");
            String field = scanner.nextLine();
            System.out.print("请输入要增加的值:");
            String value = scanner.nextLine();

            String updateSql = "UPDATE resume SET " + field + " = ? WHERE id_number = ?";
            try (PreparedStatement updateStmt = conn.prepareStatement(updateSql)) {
                updateStmt.setString(1, value);
                updateStmt.setString(2, idNumber);
                updateStmt.executeUpdate();
            }
            textArea.setText("个人简历信息增加成功。\n");
        } else {
            textArea.setText("身份证号对应的个人简历信息不存在。\n");
        }
    }
}

private static Connection getConnection() throws SQLException {
    return DriverManager.getConnection(DB_URL, USER, PASSWORD);
}

}

Java Swing 个人简历管理系统 - SQL 数据库连接

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

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