1、企业工资管理系统〔MySQL+Java〕 本代码仅供初学者参考使用,相互学习,共同进步,让优秀成为一种习惯。 软件下载: 开发语言:Java 开发工具:eclipse 数据库软件:MySQL 数据库驱动: 驱动下载地址: 以下是代码和界面截图,共7个类。 1. DB1 欢送界面 import java.awt.*; import java.awt.event.*; import javax.swing.*; class DB1 extends JFrame implements ActionListener { private static final
2、 long serialVersionUID = 1L; JFrame frame = new JFrame("欢送进入工资管理系统"); JLabel label = new JLabel("", JLabel.CENTER); JButton button1 = new JButton("进入系统"); JButton button2 = new JButton("退出系统"); void Create() { JPanel pcontentPane = (JPanel) frame.getContentPane(); pcontentPane.add(
3、label); pcontentPane.setLayout(new FlowLayout()); pcontentPane.add(button1); pcontentPane.add(button2); pcontentPane.setBackground(Color.gray); pcontentPane.setVisible(true); button1.addActionListener(this); button2.addActionListener(this); frame.setDefaultCloseOperation(JFr
4、ame.EXIT_ON_CLOSE); frame.pack(); frame.setBounds(500, 300, 300, 150); frame.setResizable(false); frame.setVisible(true); } public static void main(String[] args) { DB1 dome = new DB1(); dome.Create(); } public void actionPerformed(ActionEvent e) { if (button1.eq
5、uals(e.getSource())) { DL dl = new DL(); dl.create(); frame.dispose(); } if (button2.equals(e.getSource())) {// 退出 System.exit(0); } } } 1. DL 登陆界面 import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.Act
6、ionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JP
7、asswordField; import javax.swing.JTextField; import com.mysql.jdbc.PreparedStatement; @SuppressWarnings("serial") class DL extends JFrame implements ActionListener { JFrame frame = new JFrame("职工/管理员登陆"); JLabel label1 = new JLabel("用户名"); JLabel label2 = new JLabel("密码"); JButton
8、logonButton1 = new JButton("管理员登录"); JButton logonButton2 = new JButton("职工登录"); JButton cancelButton = new JButton("退出"); JTextField username = new JTextField(9); JPasswordField password = new JPasswordField(9); static String t1; static String t2; void create() { JPanel p =
9、JPanel) frame.getContentPane(); @SuppressWarnings("unused") JPanel p1 = new JPanel(); p.setLayout(new FlowLayout()); p.add(label1); p.setSize(5, 5); p.setLocation(4, 8); p.add(username); p.setSize(100, 200); p.setLocation(800, 800); p.add(label2); p.setSize(50, 20);
10、 p.setLocation(40, 80); p.add(password); p.setSize(100, 20); p.setLocation(80, 120); p.add(logonButton1); p.add(logonButton2); p.add(cancelButton); p.setBackground(Color.gray); p.setVisible(true); logonButton1.addActionListener(this); logonButton2.addActionListener(t
11、his); cancelButton.addActionListener(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setBounds(500, 300, 500, 220); frame.setVisible(true); } @SuppressWarnings("deprecation") public void actionPerformed(ActionEvent e) { t1 = username.ge
12、tText(); t2 = password.getText(); if(e.getSource()==logonButton1) { if( username.getText().equals("admin") == true && (password.getText().equals("admin") == true)) { JOptionPane.showMessageDialog(this, "登录成功!"); GZGLZJM gz = new GZGLZJM(); gz.create(); fra
13、me.dispose(); } else { JOptionPane.showMessageDialog(null, "输入用户名或密码错误!"); } } if (e.getSource()==logonButton2) { try { Connection con; Statement ps; ResultSet rs; String sql = null; Class.forName("org.gjt.mm.mysql.Driver"); Class.forNam
14、e("org.gjt.mm.mysql.Driver").newInstance(); con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/management","root","hellomysql"); sql="select * from worker where num='"+t1+"' and password='"+t2+"'"; ps=(PreparedStatement) con.prepareStatement(sql);
15、 rs = ps.executeQuery(sql); if(rs.next()) { if(rs.getString("num").equals(t1) && rs.getString("password").equals(t2)) { YGGLZJM yg = new YGGLZJM(); yg.create(); frame.dispose(); JOptionPane.showMessageDialog(this, "登录成功!"); this.dispose()
16、 } } else { JOptionPane.showMessageDialog(this, "输入用户名或密码错误!"); } }catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } if (cancelButton.equals(e.getSource())) // 退出 { System.exit(0); } } } 2. GZGL 工
17、资管理界面 import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java
18、x.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTable; import javax.swing.JTextField; @SuppressWarnings("serial") public clas
19、s GZGL extends JFrame implements ActionListener { JFrame f = new JFrame("员工工资管理"); JButton b1 = new JButton("录入"); JButton b2 = new JButton("修改"); JButton b3 = new JButton("删除"); JButton b4 = new JButton("查询所有"); JButton b5 = new JButton("返回"); JTextField tf1 = new JTextField(6); J
20、TextField tf2 = new JTextField(4); JTextField tf3 = new JTextField(4); JTextField tf4 = new JTextField(4); JTextField tf5 = new JTextField(4); JTextField tf6 = new JTextField(4); JTextField tf7 = new JTextField(6); JTextField tf8 = new JTextField(6); JTextField tf9 = new JTextField(4);
21、 JTextField tf10= new JTextField(4); JTextField tf11= new JTextField(6); JTextField tf12= new JTextField(6); String[] cloum = { "职工号", "根本工资", "津贴", "奖金","保险","房贷","总工资"}; Object[][] row = new Object[50][7]; JTable table = new JTable(row, cloum); JScrollPane scrollpane = new JScrollPan
22、e(table); JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); void create() { JPanel p = (JPanel) f.getContentPane(); p.setLayout(new FlowLayout()); p.add(scrollpane); p.add(splitpane); JPanel p1 = new JPanel(); p1.add(b1); p1.add(b2); p1.add(b3); p1.add(
23、b4); p1.add(b5); JPanel p2 = new JPanel(); p2.setBackground(Color.gray); p2.add(scrollpane); @SuppressWarnings("unused") JPanel p3 = new JPanel(); p.setLayout(new FlowLayout()); p.add(new JLabel("")); p.add(new JLabel("职工号")); p.add(tf1); p.add(new JLabel("根本工资"));
24、 p.add(tf2); p.add(new JLabel("津贴")); p.add(tf3); p.add(new JLabel("奖金")); p.add(tf4); p.add(new JLabel("保险")); p.add(tf5); p.add(new JLabel("房贷")); p.add(tf6); p.add(new JLabel("总工资")); p.add(tf7); p.add(new JLabel("姓名")); p.add(tf8); p.add(new JLabel("性别"));
25、 p.add(tf9); p.add(new JLabel("年龄")); p.add(tf10); p.add(new JLabel("部门")); p.add(tf11); p.add(new JLabel("职业")); p.add(tf12); splitpane.add(p1, JSplitPane.TOP); splitpane.add(p2, JSplitPane.BOTTOM); splitpane.setDividerLocation(50); p.setBackground(Color.gray); b
26、1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); f.setBounds(500, 100, 500, 600); f.setResizable(false);// 可以调整界面大小 f.setVisible(true); } public void actionPerformed(ActionEvent e) {
27、 if (b1.equals(e.getSource())) { // 录入 Connection con; Statement sql; try { Class.forName("org.gjt.mm.mysql.Driver"); } catch (ClassNotFoundException e1) { System.out.println("" + e1); } try { con=DriverManager.getConnection("jdbc:mysql://localhost:3306/managem
28、ent","root","hellomysql"); sql = con.createStatement(); String insertStr = "INSERT INTO salary (worker_num,basic_pay,welfare,bonus,insurance,housing_fund,payment)VALUES('"+tf1.getText()+"','"+tf2.getText()+"','"+tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"','
29、"+tf7.getText()+"');"; sql.executeUpdate(insertStr); String insertStr1 = "INSERT INTO worker (num,name,sex,age,dep,occup,password)VALUES('"+tf1.getText()+"','"+tf8.getText()+"','"+tf9.getText()+"','"+tf10.getText()+"','"+tf11.getText()+"','"+tf12.getText()+"','"+tf1.getText()+"');";
30、 sql.executeUpdate(insertStr1); con.close(); JOptionPane.showMessageDialog(this, "入录成功!"); } catch (SQLException e1) { JOptionPane.showMessageDialog(this, "入录失败!"); } } if (b2.equals(e.getSource())) {// 修改 Connection con; Statement sql; try { Class.forNa
31、me("org.gjt.mm.mysql.Driver"); } catch (ClassNotFoundException e1) { System.out.println("" + e1); } try { con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(); String updateStr = "UPDATE salary SE
32、T basic_pay='"+tf2.getText()+"',welfare='"+tf3.getText()+"',bonus='"+tf4.getText()+"',insurance='"+tf5.getText()+"',housing_fund='"+tf6.getText()+"',payment='"+tf7.getText()+"'where worker_num='"+tf1.getText()+"';"; sql.executeUpdate(updateStr); String updateStr1 = "UPDATE worker SET name=
33、'"+tf8.getText()+"',sex='"+tf9.getText()+"',age='"+tf10.getText()+"',dep='"+tf11.getText()+"',occup='"+tf12.getText()+"'where num='"+tf1.getText()+"';"; sql.executeUpdate(updateStr1); JOptionPane.showMessageDialog(this, "修改成功!"); con.close(); } catch (SQLException e1) { JOpti
34、onPane.showMessageDialog(this, "信息不存在!"); } } if (b3.equals(e.getSource())) {// 删除 Connection con; Statement sql; @SuppressWarnings("unused") ResultSet rs; try { Class.forName("org.gjt.mm.mysql.Driver"); } catch (ClassNotFoundException e1) { System.out.p
35、rintln("" + e1); } try { con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); sql.executeUpdate("DELETE FROM salary where worker_num='"+
36、tf1.getText()+"';"); sql.executeUpdate("DELETE FROM worker where num='"+tf1.getText()+"';"); JOptionPane.showMessageDialog(this, "删除成功!"); con.close(); } catch (SQLException e1) { JOptionPane.showMessageDialog(this, "删除失败!"); } } if (b4.equals(e.getSource())) {/
37、/ 查询全部 Connection con; Statement sql; ResultSet rs; try { Class.forName("org.gjt.mm.mysql.Driver"); } catch (ClassNotFoundException e1) { JOptionPane.showMessageDialog(this, "连接数据库失败!"); } try { con = DriverManager.getConnection("jdbc:mysql://localhost:3306
38、/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); if (b4.equals(e.getSource())) { for (int i = 0; i < 50; i++) for (int j = 0; j < 4; j++) table.setValueAt("", i, j); rs = sql.execu
39、teQuery("select * from salary"); int k = -1; while (rs.next()) { ++k; String no = rs.getString(1); String jb = rs.getString(2); String jt = rs.getString(3); String jj = rs.getString(4); String bx = rs.getString(5); String zf = rs.getStri
40、ng(6); String sum= rs.getString(7); table.setValueAt(no, k, 0); table.setValueAt(jb, k, 1); table.setValueAt(jt, k, 2); table.setValueAt(jj, k, 3); table.setValueAt(bx, k, 4); table.setValueAt(zf, k, 5); table.setValueAt(sum,k, 6);
41、} } } catch (SQLException e1) { JOptionPane.showMessageDialog(this, "查询失败!"); } } if (b5.equals(e.getSource())) {// 返回 GZGLZJM gl=new GZGLZJM(); gl.create(); f.dispose(); } } } 3. GZGLZJM 工资管理主界面 import java.awt.Color; import java.awt.FlowLayout
42、 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; class GZGLZJM extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; JFrame f = new JFrame
43、"工资管理系统"); JButton b1 = new JButton("工资管理"); JButton b2 = new JButton("员工信息管理"); JButton b3 = new JButton("返回"); void create() { JPanel p = (JPanel) f.getContentPane(); p.setLayout(new FlowLayout()); p.add(b1); p.add(b2); p.add(b3); p.setBackground(Color.gray); p.se
44、tVisible(true); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); f.setBounds(500, 300, 500, 200); f.setResizable(false); f.setVisible(true); } public void actionPerformed(ActionEvent e) { if (b3.equals(e.getSource())) {// 返回 DL d
45、 new DL(); d.create(); f.dispose(); } if (b2.equals(e.getSource())) {// 员工信息管理 YGGL yg = new YGGL(); yg.create(); f.dispose(); } if (b1.equals(e.getSource())) {// 员工工资管理 GZGL gz = new GZGL(); gz.create(); f.dispose(); } } } 4. XGMM 修改密码 impo
46、rt java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JButton; import javax.swing.JFrame
47、 import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; @SuppressWarnings("serial") class XGMM extends DL implements ActionListener { JFrame frame = new JFrame("密码修改"); JLabel label1 = new JLabel("原密码"); JLabel label2
48、 = new JLabel("新密码"); JButton Button1 = new JButton("确定"); JButton cancelButton = new JButton("返回"); JPasswordField password = new JPasswordField(9); JPasswordField newpassword = new JPasswordField(9); void create() { JPanel p = (JPanel) frame.getContentPane(); p.setLayout(new Flo
49、wLayout()); p.add(label1); p.setSize(5, 5); p.setLocation(4, 8); p.add(password); p.setSize(100, 200); p.setLocation(600, 600); p.add(label2); p.setSize(50, 20); p.setLocation(40, 80); p.add(newpassword); p.setSize(100, 20); p.setLocation(80, 120); p.add(Button
50、1); p.add(cancelButton); p.setBackground(Color.cyan); p.setVisible(true); Button1.addActionListener(this); cancelButton.addActionListener(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setBounds(200, 100, 500, 220); frame.setVisible(true);






