Java Swing 个人简历管理系统 - 图形界面数据库操作
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('身份证号对应的个人简历信息不存在。');
}
}
}
原文地址: https://www.cveoy.top/t/topic/fWY3 著作权归作者所有。请勿转载和采集!