1、企业工资管理系统( MySQL+Java) 本代码仅供初学者参考使用, 相互学习, 共同进步, 让优秀成为一种习惯。 软件下载: 开发语言: Java 开发工具: eclipse 数据库软件: MySQL 数据库驱动: mysql-connector-java-5.1.6-bin 驱动下载地址: 以下是代码和界面截图, 共7个类。 1. DB1 欢迎界面 import java.awt.*; import java.awt.event.*; import javax.swing.*; class DB1 extends JFrame implemen
2、ts ActionListener { private static final 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) fr
3、ame.getContentPane(); pcontentPane.add(label); pcontentPane.setLayout(new FlowLayout()); pcontentPane.add(button1); pcontentPane.add(button2); pcontentPane.setBackground(Color.gray); pcontentPane.setVisible(true); button1.addActionListener(this); button2.addActionListener(th
4、is); frame.setDefaultCloseOperation(JFrame.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 actionPe
5、rformed(ActionEvent e) { if (button1.equals(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.eve
6、nt.ActionEvent; import java.awt.event.ActionListener; 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
7、javax.swing.JPanel; import javax.swing.JPasswordField; 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("用户名"); JL
8、abel label2 = new JLabel("密码"); JButton 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
9、 t2; void create() { JPanel p = (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
10、); p.add(label2); p.setSize(50, 20); 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(
11、this); logonButton2.addActionListener(this); 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
12、ActionEvent e) { t1 = username.getText(); t2 = password.getText(); if(e.getSource()==logonButton1) { if( username.getText().equals("admin") == true && (password.getText().equals("admin") == true)) { JOptionPane.showMessageDialog(this, "登录成功! "); GZGLZJM gz
13、 new GZGLZJM(); gz.create(); frame.dispose(); } else { JOptionPane.showMessageDialog(null, "输入用户名或密码错误! "); } } if (e.getSource()==logonButton2) { try { Connection con; Statement ps; ResultSet rs; String sql = null; Class.forName("
14、org.gjt.mm.mysql.Driver"); Class.forName("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=(PreparedStateme
15、nt) con.prepareStatement(sql); 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.showMessage
16、Dialog(this, "登录成功! "); this.dispose(); } } else { JOptionPane.showMessageDialog(this, "输入用户名或密码错误! "); } }catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } if (cancelButton.equals(e.getSource())) // 退出
17、 { System.exit(0); } } } 2. GZGL 工资管理界面 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.SQLExcepti
18、on; 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.JScrollPane; import javax.swing.JSplitPane; import javax.swing.JTable; import javax.swing.JTextFi
19、eld; @SuppressWarnings("serial") public class 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("返
20、回"); JTextField tf1 = new JTextField(6); JTextField 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 JTextF
21、ield(6); JTextField tf9 = new JTextField(4); 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, clo
22、um); JScrollPane scrollpane = new JScrollPane(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
23、b1); p1.add(b2); p1.add(b3); p1.add(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("职工号"));
24、 p.add(tf1); p.add(new JLabel("基本工资")); 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("姓名"
25、)); p.add(tf8); p.add(new JLabel("性别")); 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.setDividerLoca
26、tion(50); p.setBackground(Color.gray); b1.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); } p
27、ublic void actionPerformed(ActionEvent e) { 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.getC
28、onnection("jdbc:mysql://localhost:3306/management","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(
29、)+"','"+tf5.getText()+"','"+tf6.getText()+"','"+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()+"','"+
30、tf12.getText()+"','"+tf1.getText()+"');"; sql.executeUpdate(insertStr1); con.close(); JOptionPane.showMessageDialog(this, "入录成功! "); } catch (SQLException e1) { JOptionPane.showMessageDialog(this, "入录失败! "); } } if (b2.equals(e.getSource())) {// 修改 Connection co
31、n; 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/management","root","hellomysql"); sql = con.createStatem
32、ent(); String updateStr = "UPDATE salary SET 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);
33、 String updateStr1 = "UPDATE worker SET name='"+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.cl
34、ose(); } catch (SQLException e1) { JOptionPane.showMessageDialog(this, "信息不存在! "); } } if (b3.equals(e.getSource())) {// 删除 Connection con; Statement sql; @SuppressWarnings("unused") ResultSet rs; try { Class.forName("org.gjt.mm.mysql.Driver"); } cat
35、ch (ClassNotFoundException e1) { System.out.println("" + e1); } try { con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); sql.execut
36、eUpdate("DELETE FROM salary where worker_num='"+tf1.getText()+"';"); sql.executeUpdate("DELETE FROM worker where num='"+tf1.getText()+"';"); JOptionPane.showMessageDialog(this, "删除成功! "); con.close(); } catch (SQLException e1) { JOptionPane.showMessageDialog(this, "删除失败!
37、"); } } if (b4.equals(e.getSource())) {// 查询全部 Connection con; Statement sql; ResultSet rs; try { Class.forName("org.gjt.mm.mysql.Driver"); } catch (ClassNotFoundException e1) { JOptionPane.showMessageDialog(this, "连接数据库失败! "); } try { con = Dri
38、verManager.getConnection("jdbc:mysql://localhost:3306/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++)
39、 table.setValueAt("", i, j); rs = sql.executeQuery("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); Strin
40、g bx = rs.getString(5); String zf = rs.getString(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(z
41、f, k, 5); table.setValueAt(sum,k, 6); } } } catch (SQLException e1) { JOptionPane.showMessageDialog(this, "查询失败! "); } } if (b5.equals(e.getSource())) {// 返回 GZGLZJM gl=new GZGLZJM(); gl.create(); f.dispose(); } } } 3. GZGLZJM 工资管理主界面
42、 import java.awt.Color; import java.awt.FlowLayout; 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 fin
43、al long serialVersionUID = 1L; JFrame f = new JFrame("工资管理系统"); 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);
44、 p.add(b3); p.setBackground(Color.gray); p.setVisible(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)
45、 { if (b3.equals(e.getSource())) {// 返回 DL d = 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()
46、 f.dispose(); } } } 4. XGMM 修改密码 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.SQLException; import java.sql.Statement;
47、import javax.swing.JButton; import javax.swing.JFrame; 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("密码修改")
48、 JLabel label1 = new JLabel("原密码"); JLabel label2 = new JLabel("新密码"); JButton Button1 = new JButton("确定"); JButton cancelButton = new JButton("返回"); JPasswordField password = new JPasswordField(9); JPasswordField newpassword = new JPasswordField(9); void create() { JPanel p = (
49、JPanel) frame.getContentPane(); p.setLayout(new FlowLayout()); 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.setSiz
50、e(100, 20); p.setLocation(80, 120); p.add(Button1); 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.set






