Java 之职员管理系统(实现基本的增删改查)

环境配置请看以下:

Java Swing 之 WindowBuilder 实现 员工信息管理系统(数据库Derby通过JDBC操作)

Java代码实现:

一、登录界面LoginPanel类:

package empsystem;

import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.FontUIResource;

public class LoginPanel extends JFrame {// 用于展示窗口组件及信息,提供可视化界面
	private JPanel loginPanel;
	private JTextField userName;
	private JPasswordField passWord;
	private JButton loginButton;
	private JCheckBox rememberCheckbox;
	private JLabel message0, message1, message2;// 用于信息提示
	private Font font;
	private String imagePaths = "a.jpg";// 存储图片路径
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					LoginPanel frame = new LoginPanel();
					frame.setBounds(100, 100, 755, 430); // 继承JFrame底层容器,自定义大小和位置设置
					frame.setTitle("员工信息管理平台"); // 继承JFrame底层容器,设置标题
					frame.setVisible(true);// 设置窗口可见
					frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭窗口释放资源
					frame.setLocationRelativeTo(null);
					Timer timer = new Timer(1000, e -> {  
					    JOptionPane.showMessageDialog(null, "请输入管理员账号及密码:\n账号:liumin\n密码:lm123");  
					});  
					timer.setRepeats(false);  
					timer.start();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}
	LoginPanel() {
		setResizable(false);
		setBackground();// 背景图片设置
		// 消息窗口字体
		UIManager.put("OptionPane.messageFont", new FontUIResource(new Font("楷体", Font.BOLD, 13)));
		// 面板(界面设计)
		// 首页面板
		font = new Font("仿宋", Font.BOLD, 16);// 设置首页字体
		// 登陆面板
		loginPanel = new JPanel();
		loginPanel.setLayout(null);// 设置布局格式为弹簧式
		message0 = new JLabel("职员信息录入系统");
		message0.setLocation(208, 61);
		message0.setSize(300, 40);
		message0.setForeground(Color.white);
		message0.setFont(new Font("楷体", Font.ITALIC + Font.BOLD, 35));
		loginPanel.add(message0);
		message1 = new JLabel("用户名:");
		message1.setLocation(196, 132);
		message1.setSize(60, 30);
		message1.setForeground(Color.white);
		message1.setFont(font);
		userName = new JTextField("请输入电话号/用户名");
		userName.setLocation(266, 134);
		userName.setSize(200, 28);
		userName.setFont(new Font("仿宋", Font.PLAIN, 13));
		loginPanel.add(message1);
		loginPanel.add(userName);
		message2 = new JLabel("密码:");
		message2.setLocation(216, 195);
		message2.setSize(60, 30);
		message2.setForeground(Color.white);
		message2.setFont(font);
		passWord = new JPasswordField();
		passWord.setLocation(266, 199);
		passWord.setSize(200, 26);
		passWord.setEchoChar((char) 0);//设置密码显示	
		loginPanel.add(message2);
		loginPanel.add(passWord);
		loginButton = new JButton("登录");
		loginButton.setLocation(266, 257);
		loginButton.setSize(200, 35);
		loginButton.setMargin(new Insets(0, 0, 0, 0));
		loginButton.setFont(new Font("楷体", Font.BOLD, 17));
		loginButton.addActionListener(e -> {// 绑定动作事件
			String user = userName.getText();
			String pas = new String(passWord.getPassword());
			if(user.equals("user1")&&pas.equals("user123")) {
				JOptionPane.showMessageDialog(this,  "恭喜你登陆成功!");
				dispose();
				new SettingPanel().setVisible(true);
			}
			else {
				JOptionPane.showMessageDialog(null, "输入错误,请再次输入:\n账号:user1\n密码:user123");
			}
		});// 匿名类实现获取用户名密码信息

		rememberCheckbox = new JCheckBox("记住密码");
		rememberCheckbox.setForeground(Color.white);
		rememberCheckbox.setOpaque(false);
		loginPanel.add(loginButton);
		loginPanel.add(rememberCheckbox);
		setContentPane(loginPanel);
		loginPanel.setOpaque(false);
	}
	public void setBackground() {// 背景设置
		ImageIcon img = new ImageIcon(imagePaths);
		((JPanel) this.getContentPane()).setOpaque(false);
		img.setImage(img.getImage().getScaledInstance(760, 410, Image.SCALE_DEFAULT));
		JLabel background = new JLabel(img);
		this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
		background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
	}
}

二、添加信息界面SettingPanel类:

package empsystem;

import java.awt.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.*;

public class SettingPanel extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel settingPanel;
	private JButton maskButton, suitButton, deleteButton, submitButton;
	private JScrollPane jscrollPane;// 用于表格显示
	private DefaultTableModel table;
	private JTable jtable;
	private Vector<String> columns;// 存储列数据
	private Vector<Vector<String>> data;// 存储表格数据
	private Derbydb derbydb;
	private String imagePaths = "a.jpg";// 存储图片路径
	private int count = 5;

	/**
	 * Create the frame.
	 */
	public SettingPanel() {
		setLocationRelativeTo(null);
	    setBounds(100, 100, 757, 447); // 继承JFrame底层容器,自定义大小和位置设置
		setTitle("员工信息管理平台"); // 继承JFrame底层容器,设置标题
		setVisible(true);// 设置窗口可见
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭窗口释放资源
		setBackground();// 背景图片设置
		derbydb = new Derbydb();// 数据库操作
		settingPanel = new JPanel();
		settingPanel.setLayout(null);
		derbydb.createDB();
		data = new Vector<>();// 表格信息展示
		columns = new Vector<>();// 列表属性设置
		columns.addElement("ID编号");
		columns.addElement("姓名");
		columns.addElement("性别");
		columns.addElement("出生日期");
		columns.addElement("地址");
		columns.addElement("工资");
		table = new DefaultTableModel(data, columns);
		jtable = new JTable(table);
		JTableHeader head = jtable.getTableHeader();
		head.setPreferredSize(new Dimension(head.getWidth(), 25));
		head.setFont(new Font("楷体", Font.BOLD, 17));
		head.setForeground(Color.BLACK);
		head.setBackground(new Color(105, 132, 209));
		jtable.setRowHeight(25);
		jtable.setGridColor(Color.BLACK);
		jtable.setBackground(Color.WHITE);
		jtable.setFont(new Font("宋体", Font.BOLD, 15));
		DefaultTableCellRenderer ter = new DefaultTableCellRenderer() {// 表格颜色设置
			public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
					boolean hasFocus, int row, int column) {
				if (row % 2 == 0)
					setBackground(Color.white);
				else
					setBackground(new Color(118, 153, 196));
				return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
			}
		};
		for (int i = 0; i < columns.size(); i++) {
			jtable.getColumn(columns.get(i)).setCellRenderer(ter);
		}
		jscrollPane = new JScrollPane(jtable, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
				ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
		jscrollPane.setLocation(35, 67);
		jscrollPane.setSize(663, 333);
		jscrollPane.setPreferredSize(new Dimension(730, 320));
		jscrollPane.getViewport().setBackground(Color.WHITE);
		// 按钮部分
		maskButton = new JButton("添加员工信息");
		maskButton.setLocation(72, 20);
		maskButton.setSize(105, 25);
		maskButton.setMargin(new Insets(0, 0, 0, 0));
		maskButton.setFont(new java.awt.Font("仿宋", Font.BOLD, 15));
		maskButton.addActionListener(e -> {
			Vector<Object> row = new Vector<>();
			row.addElement(Integer.toString(count));
			table.addRow(row);
			count++;
		});
		suitButton = new JButton("查看职员信息");
		suitButton.setLocation(239, 20);
		suitButton.setSize(120, 25);
		suitButton.setMargin(new Insets(0, 0, 0, 0));
		suitButton.setFont(new java.awt.Font("仿宋", Font.BOLD, 15));
		suitButton.addActionListener(e -> {
			dispose();
			new OverViewPanel();
		});
		deleteButton = new JButton("删除当前信息");
		deleteButton.setLocation(409, 20);
		deleteButton.setSize(112, 25);
		deleteButton.setMargin(new Insets(0, 0, 0, 0));
		deleteButton.setFont(new java.awt.Font("仿宋", Font.BOLD, 15));
		deleteButton.addActionListener(e -> {
			try {
				table.removeRow(jtable.getSelectedRow());
			} catch (Exception w) {
				JOptionPane.showMessageDialog(this, "请选中一行");
			}
		});// 根据用户所选行删除
		submitButton = new JButton("提交所有信息");
		submitButton.setLocation(571, 20);
		submitButton.setSize(105, 25);
		submitButton.setMargin(new Insets(0, 0, 0, 0));
		submitButton.setFont(new java.awt.Font("仿宋", Font.BOLD, 15));
		submitButton.addActionListener(e -> {// 匿名类实现将提交数据添加至概览容器中用于展示
			int rows = jtable.getRowCount();
			int cols = jtable.getColumnCount();
			for (int i = 0; i < rows; i++) {
				Vector<String> row = new Vector<>();
				for (int j = 0; j < cols; j++) {
					if (jtable.getValueAt(i, j) != null)
						row.addElement(jtable.getValueAt(i, j).toString());
					else
						row.addElement("");
				}
				derbydb.insertDB(row);
			}
			table.setRowCount(0);
			repaint();
		});
		settingPanel.add(maskButton);
		settingPanel.add(suitButton);
		settingPanel.add(deleteButton);
		settingPanel.add(submitButton);
		settingPanel.add(jscrollPane);
		settingPanel.setOpaque(false);
		setContentPane(settingPanel);
	}

	public void setBackground() {// 背景设置
		ImageIcon img = new ImageIcon(imagePaths);
		((JPanel) this.getContentPane()).setOpaque(false);
		img.setImage(img.getImage().getScaledInstance(760, 410, Image.SCALE_DEFAULT));
		JLabel background = new JLabel(img);
		this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
		background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
	}
}

三、删改查界面OverViewPanel类:

package empsystem;

import java.awt.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;

public class OverViewPanel extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel overViewPanel;
	private JTextField searchtext;
	private JButton searchButton, deleteButton,btnNewButton;
	private JLabel message3;// 用于信息提示
	private JScrollPane storejscroll;// 用于表格显示
	private DefaultTableModel storetable;
	private JTable jstoretable;
	private Vector<String> columns;// 存储列数据
	private Vector<Vector<String>> storedata; // 存储表格数据
	private Derbydb derbydb;
	private String imagePaths = "a.jpg";// 存储图片路径

	/**
	 * Create the frame.
	 */
	public OverViewPanel() {
		storedata = new Vector<>();
		derbydb = new Derbydb();// 数据库操作
		derbydb.selectDB(storedata, -1, null);
		repaint();
		setLocationRelativeTo(null);
		setBounds(100, 100, 742, 440); // 继承JFrame底层容器,自定义大小和位置设置
		setTitle("员工信息管理平台"); // 继承JFrame底层容器,设置标题
		setVisible(true);// 设置窗口可见
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭窗口释放资源
		setBackground();
		derbydb = new Derbydb();// 数据库操作
		overViewPanel = new JPanel();
		overViewPanel.setLayout(null);
		message3 = new JLabel("全部员工信息显示");
		message3.setLocation(245, 10);
		message3.setSize(239, 27);
		message3.setForeground(Color.white);
		message3.setFont(new Font("楷体", Font.BOLD, 27));
		columns = new Vector<>();// 列表属性设置
		columns.addElement("ID编号");
		columns.addElement("姓名");
		columns.addElement("性别");
		columns.addElement("出生日期");
		columns.addElement("地址");
		columns.addElement("工资");
		storetable = new DefaultTableModel(storedata, columns);
		jstoretable = new JTable(storetable);
		jstoretable.setEnabled(false);// 设置表格不可编辑
		JTableHeader head1 = jstoretable.getTableHeader();// 表头样式设置
		head1.setPreferredSize(new Dimension(head1.getWidth(), 25));
		head1.setFont(new Font("楷体", Font.BOLD, 17));
		head1.setForeground(Color.BLACK);
		head1.setBackground(new Color(105, 132, 209));
		jstoretable.setRowHeight(25);
		jstoretable.setGridColor(Color.BLACK);
		jstoretable.setBackground(Color.WHITE);
		jstoretable.setFont(new Font("宋体", Font.BOLD, 15));
		storejscroll = new JScrollPane(jstoretable, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS,
				ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
		storejscroll.setLocation(34, 77);
		storejscroll.setSize(641, 306);
		storejscroll.setPreferredSize(new Dimension(730, 320));
		storejscroll.getViewport().setBackground(Color.WHITE);
		searchtext = new JTextField();
		searchtext.setLocation(34, 10);
		searchtext.setSize(130, 23);
		searchtext.setFont(new Font("仿宋", Font.PLAIN, 13));
		searchButton = new JButton("搜索");
		searchButton.setLocation(174, 10);
		searchButton.setSize(60, 23);
		searchButton.setMargin(new Insets(0, 0, 0, 0));
		searchButton.setFont(new Font("楷体", Font.BOLD, 15));
		searchButton.addActionListener(e -> {// 绑定动作事件
			Object[] options = { "id", "姓名", "性别", "出生", "地址", "工资" }; // 自定义按钮上的文字
			int m = JOptionPane.showOptionDialog(null, "请选择按什么查询:", "Title", JOptionPane.YES_NO_OPTION,
					JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
			String searchname = searchtext.getText();
			derbydb.selectDB(storedata, m, searchname);
			if (storedata.size() == 0)
				JOptionPane.showMessageDialog(null, "没有您要查询的信息!");
			repaint();
		});// 匿名类实现获取用户名密码信息

		overViewPanel.add(searchtext);
		overViewPanel.add(searchButton);
		overViewPanel.add(message3);

		deleteButton = new JButton("删除");
		deleteButton.setLocation(505, 10);
		deleteButton.setSize(73, 23);
		deleteButton.setMargin(new Insets(0, 0, 0, 0));
		deleteButton.setFont(new Font("楷体", Font.BOLD, 15));
		deleteButton.addActionListener(e -> {
			try {
				String id = JOptionPane.showInputDialog(null, "请输入要删除的数据id号:");
				derbydb.delectDB(id);
			} catch (Exception w) {
				System.out.println(w);
			}
			derbydb.selectDB(storedata, -1, null);
			repaint();
		});// 根据用户所选行删除

		DefaultTableCellRenderer ter = new DefaultTableCellRenderer() {// 表格颜色设置
			public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
					boolean hasFocus, int row, int column) {
				if (row % 2 == 0)
					setBackground(Color.white);
				else
					setBackground(new Color(118, 153, 196));
				return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
			}
		};
		overViewPanel.add(deleteButton);
		for (int i = 0; i < columns.size(); i++) {// 表格颜色设置
			jstoretable.getColumn(columns.get(i)).setCellRenderer(ter);
		}
		overViewPanel.add(storejscroll);
		overViewPanel.setOpaque(false);
		setContentPane(overViewPanel);

		btnNewButton = new JButton("添加");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				dispose();
				new SettingPanel();
			}
		});
		btnNewButton.setMargin(new Insets(0, 0, 0, 0));
		btnNewButton.setFont(new Font("楷体", Font.BOLD, 15));
		btnNewButton.setBounds(602, 10, 73, 23);
		overViewPanel.add(btnNewButton);

		JButton btnNewButton_1 = new JButton("显示全部员工信息");
		btnNewButton_1.setMargin(new Insets(0, 0, 0, 0));
		btnNewButton_1.setFont(new Font("楷体", Font.BOLD, 15));
		btnNewButton_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				derbydb.selectDB(storedata, -1, null);
				repaint();
			}
		});
		btnNewButton_1.setBounds(505, 43, 170, 23);
		overViewPanel.add(btnNewButton_1);
		JButton btnNewButton_2 = new JButton("修改当前信息");
		btnNewButton_2.setMargin(new Insets(0, 0, 0, 0));
		btnNewButton_2.setFont(new Font("楷体", Font.BOLD, 15));
		btnNewButton_2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try {
					String id = JOptionPane.showInputDialog(null, "请输入要编辑的数据id号:");
					Object[] options = { "id", "姓名", "性别", "出生", "地址", "工资" }; // 自定义按钮上的文字
					int m = JOptionPane.showOptionDialog(null, "请要修改的属性:", "Title", JOptionPane.YES_NO_OPTION,
							JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
					String value = JOptionPane.showInputDialog(null, "请输入修改后的内容:");
					derbydb.updateDB(id, m, value);
				} catch (Exception w) {
					System.out.println(w);
				}
				derbydb.selectDB(storedata, -1, null);
				repaint();
			}
		});
		btnNewButton_2.setBounds(34, 43, 130, 23);
		overViewPanel.add(btnNewButton_2);
	}

	public void setStore(Vector<Vector<String>> store) {
		storedata = store;

	}

	public void setBackground() {// 背景设置
		ImageIcon img = new ImageIcon(imagePaths);
		((JPanel) this.getContentPane()).setOpaque(false);
		img.setImage(img.getImage().getScaledInstance(760, 410, Image.SCALE_DEFAULT));
		JLabel background = new JLabel(img);
		this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
		background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
	}
}


四、数据库界面Derbydb类:

package empsystem;

import java.sql.*;
import java.util.Vector;
import javax.swing.JOptionPane;

public class Derbydb {
	public void createDB() {
		Connection con = null;
		Statement sta = null;
		String SQL = null;
		ResultSet rs = null;
		try {
			Class.forName("org.apache.derby.jdbc.EmbeddedDriver");// 驱动
			con = DriverManager.getConnection("jdbc:derby:移动公司;create=true");
		} catch (Exception e) {
			System.out.println(e);
		}
		try {
			// 建表语句
			sta = con.createStatement();
			SQL = "create table 职员表" + "(id char(6) primary key,姓名 varchar(10),性别 char(6)"
					+ ",出生 varchar(20),地址 varchar(50),工资 float)";
			sta.executeUpdate(SQL);
		} catch (Exception e) {
			System.out.println("该表已存在,不需重建!" + e);
		}
		try {
			SQL = "insert into 职员表 values('1','王林','男','1976-12-12','吉林',6654),('2','翠花','女','1982-10-12','北京',1654),('3','花翠','女','1984-12-12','大连',5654),('4','林王','男','1978-10-12','上海',2654)";
			sta.executeUpdate(SQL);
		} catch (Exception e) {
			System.out.println("初始信息插入失败!" + e);
		} finally {
			close(rs, sta, con);
		}
	}

	public void insertDB(Vector<String> trow) {
		Connection con = null;
		Statement sta = null;
		String SQL = null;
		ResultSet rs = null;
		String id = trow.get(0);
		String name = trow.get(1);
		String sex = trow.get(2);
		String birthday = trow.get(3);
		String adds = trow.get(4);
		Float wages = null;
		try {
			Class.forName("org.apache.derby.jdbc.EmbeddedDriver");// 驱动
			con = DriverManager.getConnection("jdbc:derby:移动公司;create=true");
		} catch (Exception e) {
			System.out.println(e);
		}
		try {
			sta = con.createStatement();
			if (trow.get(5) != null)
				wages = Float.parseFloat(trow.get(5));
			else
				wages = 0.0f;
			SQL = "insert into 职员表 values('" + id + "','" + name + "','" + sex + "','" + birthday + "','" + adds + "',"
					+ wages + ")";
			sta.executeUpdate(SQL);
			JOptionPane.showMessageDialog(null, "数据提交成功!");
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "插入失败!,提交信息不合法,请重新运行该程序!");
			System.out.println("插入失败!" + e);
		} finally {
			close(rs, sta, con);
		}
	}

	public void selectDB(Vector<Vector<String>> storedata, int num, String value) {
		Connection con = null;
		Statement sta = null;
		ResultSet rs = null;
		String SQL = null;
		String id = null;
		String name = null;
		String sex = null;
		String brithday = null;
		String adds = null;
		String wages = null;
		try {
			Class.forName("org.apache.derby.jdbc.EmbeddedDriver");// 驱动
			con = DriverManager.getConnection("jdbc:derby:移动公司;create=true");
		} catch (Exception e) {
			System.out.println(e);
		}
		try {
			sta = con.createStatement();
			if (num == 0) {
				SQL = "select *from 职员表  where id ='" + value + "'";
			} else if (num == 1) {
				SQL = "select *from 职员表  where 姓名 ='" + value + "'";
			} else if (num == 2) {
				SQL = "select *from 职员表  where 性别 ='" + value + "'";
			} else if (num == 3) {
				SQL = "select *from 职员表  where 出生 ='" + value + "'";
			} else if (num == 4) {
				SQL = "select *from 职员表  where 地址 ='" + value + "'";
			} else if (num == 5) {
				SQL = "select *from 职员表  where 工资 =" + Float.parseFloat(value) + "";
			} else {
				SQL = "select *from 职员表";
			}
			rs = sta.executeQuery(SQL);
			storedata.clear();
			while (rs.next()) {
				Vector<String> trow = new Vector<>();
				id = rs.getString(1);
				name = rs.getString(2);
				sex = rs.getString(3);
				brithday = rs.getString(4);
				adds = rs.getString(5);
				wages = rs.getString(6);
				trow.addElement(id);
				trow.addElement(name);
				trow.addElement(sex);
				trow.addElement(brithday);
				trow.addElement(adds);
				trow.addElement(wages);
				storedata.addElement(trow);
			}
		} catch (Exception e) {
			System.out.println("查找失败!" + e);
		} finally {
			close(rs, sta, con);
		}
	}

	public void delectDB(String ID) {
		Connection con = null;
		Statement sta = null;
		String SQL = null;
		ResultSet rs = null;
		try {
			Class.forName("org.apache.derby.jdbc.EmbeddedDriver");// 驱动
			con = DriverManager.getConnection("jdbc:derby:移动公司;create=true");

		} catch (Exception e) {
			System.out.println(e);
		}
		// 全部数据 找到对应条目清
		try {
			sta = con.createStatement();
			SQL = "select *from 职员表  where id ='" + ID + "'";
			rs = sta.executeQuery(SQL);
			if (rs.next() == false) {
				JOptionPane.showMessageDialog(null, "该条目不存在!");
			} else {
				sta.executeUpdate("delete from 职员表 where id = '" + ID + "'");
				JOptionPane.showMessageDialog(null, "删除成功!");
			}
		} catch (Exception e) {
			System.out.println("删除失败!" + e);
		} finally {
			close(rs, sta, con);
		}
	}

	public void updateDB(String ID, int num, String value) {
		Connection con = null;
		Statement sta = null;
		String SQL = null;
		ResultSet rs = null;
		try {
			Class.forName("org.apache.derby.jdbc.EmbeddedDriver");// 驱动
			con = DriverManager.getConnection("jdbc:derby:移动公司;create=true");
		} catch (Exception e) {
			System.out.println(e);
		}
		// 全部数据 找到对应条目清
		try {
			sta = con.createStatement();
			SQL = "select *from 职员表  where id ='" + ID + "'";
			rs = sta.executeQuery(SQL);
			if (rs.next() == false) {
				JOptionPane.showMessageDialog(null, "该条目不存在!");
			} else {
				if (num == 0) {
					SQL = "update 职员表 set id = '" + value + "' where id='" + ID + "'";
				} else if (num == 1) {
					SQL = "update 职员表 set 姓名 = '" + value + "' where id='" + ID + "'";
				} else if (num == 2) {
					SQL = "update 职员表 set 性别 = '" + value + "' where id='" + ID + "'";
				} else if (num == 3) {
					SQL = "update 职员表 set 出生 = '" + value + "' where id='" + ID + "'";
				} else if (num == 4) {
					SQL = "update 职员表 set 地址 = '" + value + "' where id='" + ID + "'";
				} else if (num == 5) {
					SQL = "update 职员表 set 工资 = '" + value + "' where id='" + ID + "'";
				}
				sta.executeUpdate(SQL);
				JOptionPane.showMessageDialog(null, "修改成功!");
			}
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, "修改失败!" + e);
			System.out.println("数据库修改失败!" + e);
		} finally {
			close(rs, sta, con);
		}
	}

	public void close(ResultSet rs, Statement sta, Connection con) {
		if (rs != null) {
			try {
				rs.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		if (sta != null) {
			try {
				sta.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		if (con != null) {
			try {
				con.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
}


各文件存储路径如图所示:

在这里插入图片描述
从文件夹打开:
在这里插入图片描述

五、eclipse中项目打包成jar包:

打包jar包

六、界面展示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的职工信息管理系统Java代码示例,它可以添加、删除、修改和查找职工信息: ```java import java.util.ArrayList; import java.util.Scanner; public class EmployeeManagementSystem { private ArrayList<Employee> employees = new ArrayList<Employee>(); private Scanner scanner = new Scanner(System.in); public void start() { while (true) { System.out.println("请选择操作:"); System.out.println("1. 添加职工信息"); System.out.println("2. 删除职工信息"); System.out.println("3. 修改职工信息"); System.out.println("4. 查找职工信息"); System.out.println("5. 退出系统"); int choice = scanner.nextInt(); switch (choice) { case 1: addEmployee(); break; case 2: deleteEmployee(); break; case 3: updateEmployee(); break; case 4: findEmployee(); break; case 5: System.out.println("谢谢使用!"); System.exit(0); break; default: System.out.println("输入有误,请重新输入!"); break; } } } private void addEmployee() { System.out.println("请输入职工姓名:"); String name = scanner.next(); System.out.println("请输入职工工号:"); String id = scanner.next(); System.out.println("请输入职工部门:"); String department = scanner.next(); System.out.println("请输入职工职位:"); String position = scanner.next(); Employee employee = new Employee(name, id, department, position); employees.add(employee); System.out.println("添加成功!"); } private void deleteEmployee() { System.out.println("请输入要删除的职工工号:"); String id = scanner.next(); for (int i = 0; i < employees.size(); i++) { Employee employee = employees.get(i); if (employee.getId().equals(id)) { employees.remove(i); System.out.println("删除成功!"); return; } } System.out.println("未找到该职工!"); } private void updateEmployee() { System.out.println("请输入要修改的职工工号:"); String id = scanner.next(); for (int i = 0; i < employees.size(); i++) { Employee employee = employees.get(i); if (employee.getId().equals(id)) { System.out.println("请输入职工姓名:"); String name = scanner.next(); System.out.println("请输入职工部门:"); String department = scanner.next(); System.out.println("请输入职工职位:"); String position = scanner.next(); employee.setName(name); employee.setDepartment(department); employee.setPosition(position); System.out.println("修改成功!"); return; } } System.out.println("未找到该职工!"); } private void findEmployee() { System.out.println("请输入要查找的职工工号:"); String id = scanner.next(); for (int i = 0; i < employees.size(); i++) { Employee employee = employees.get(i); if (employee.getId().equals(id)) { System.out.println(employee); return; } } System.out.println("未找到该职工!"); } public static void main(String[] args) { EmployeeManagementSystem system = new EmployeeManagementSystem(); system.start(); } } class Employee { private String name; private String id; private String department; private String position; public Employee(String name, String id, String department, String position) { this.name = name; this.id = id; this.department = department; this.position = position; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } public String getPosition() { return position; } public void setPosition(String position) { this.position = position; } @Override public String toString() { return "姓名:" + name + " 工号:" + id + " 部门:" + department + " 职位:" + position; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值