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 Connection getConnection() throws SQLException {
    return DriverManager.getConnection(DB_URL, USER, PASSWORD);
}

// 个人简历信息录入
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();
            }
            System.out.println('个人简历信息增加成功。');
        } else {
            System.out.println('身份证号对应的个人简历信息不存在。');
        }
    }
}
Java Swing 个人简历管理系统 - 图形界面数据库操作

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

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