Eclipse+Java+Swing+Mysql实现员工工资管理系统(上)

本文涉及的产品
RDS AI 助手,专业版
RDSClaw,2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
简介: Eclipse+Java+Swing+Mysql实现员工工资管理系统

一、系统介绍


1.开发环境


开发工具:Eclipse2021


JDK版本:jdk1.8


Mysql版本:8.0.13


2.技术选型


Java+Swing+Mysql


3.系统功能


1.用户匿名登录系统,查询工资信息;


2.管理员登录登出系统;


3.管理员增加员工信息,修改员工信息,删除员工信息;


3.管理员增加部门信息,修改部门信息,删除部门信息;


4.管理员查询员工工资,添加员工工资;


4.数据库

/*
 Navicat Premium Data Transfer
 Source Server         : MySQL
 Source Server Type    : MySQL
 Source Server Version : 80013
 Source Host           : 127.0.0.1:3306
 Source Schema         : swing_salary_management
 Target Server Type    : MySQL
 Target Server Version : 80013
 File Encoding         : 65001
 Date: 23/12/2021 21:19:54
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for department
-- ----------------------------
DROP TABLE IF EXISTS `department`;
CREATE TABLE `department`  (
  `ID` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `Name` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `Director` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `Number` int(16) NOT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of department
-- ----------------------------
INSERT INTO `department` VALUES ('ks001', '经理室', '赢政', 10);
INSERT INTO `department` VALUES ('ks002', '财务室', '刘邦', 6);
INSERT INTO `department` VALUES ('ks003', '军机部', '李鸿章', 6);
INSERT INTO `department` VALUES ('ks004', '外交部', '张仪', 8);
INSERT INTO `department` VALUES ('ks005', '技术科', '朱元璋', 10);
INSERT INTO `department` VALUES ('ks006', '董事会', '李世民', 10);
-- ----------------------------
-- Table structure for employee
-- ----------------------------
DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee`  (
  `ID` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `name` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `sex` char(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `age` int(6) NOT NULL,
  `department` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `position` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `phone` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `time` datetime(0) NULL DEFAULT NULL,
  `address` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of employee
-- ----------------------------
INSERT INTO `employee` VALUES ('0001', '赢政', '男', 37, '经理室', '经理', '10086', '0201-01-01 00:00:00', '咸阳');
INSERT INTO `employee` VALUES ('0002', '刘邦', '男', 40, '技术科', '技术长', '10087910', '2001-05-06 00:00:00', '长安');
INSERT INTO `employee` VALUES ('0003', '武则天', '女', 30, '财务室', '经理', '10088', '1999-08-07 00:00:00', '长安');
INSERT INTO `employee` VALUES ('0004', '刘秀', '男', 46, '军机部', '副部长', '123548788', '2013-05-07 00:00:00', '桂林');
INSERT INTO `employee` VALUES ('0005', '西施', '女', 23, '财务室', '会计', '10089', '2001-02-03 00:00:00', '越国');
INSERT INTO `employee` VALUES ('0006', '李清照', '女', 25, '财务室', '出纳', '125478', '2012-03-04 00:00:00', '宋国');
INSERT INTO `employee` VALUES ('0007', '杨玉环', '女', 29, '财务室', '会计', '125478', '2010-02-04 00:00:00', '长安');
INSERT INTO `employee` VALUES ('0008', '孙权', '男', 35, '外交部', '部长', '150478', '2005-05-04 00:00:00', '江东');
INSERT INTO `employee` VALUES ('0009', '李世民', '男', 54, '董事会', '会长', '100865', '1998-05-08 00:00:00', '西安');
INSERT INTO `employee` VALUES ('0010', '项羽', '男', 40, '经理室', '副经理', '1008670', '2000-02-05 00:00:00', '彭城');
INSERT INTO `employee` VALUES ('0011', '李鸿章', '男', 52, '军机部', '部长', '1008699', '2001-05-08 00:00:00', '北京');
INSERT INTO `employee` VALUES ('0012', '张仪', '男', 44, '外交部', '部长', '10089', '2002-02-04 00:00:00', '魏国');
INSERT INTO `employee` VALUES ('0013', '朱元璋', '男', 35, '技术科', '部长', '100896', '2013-05-07 00:00:00', '南京');
INSERT INTO `employee` VALUES ('0014', '貂蝉', '女', 25, '经理室', '助理', '10086972', '2005-05-04 00:00:00', '洛阳');
INSERT INTO `employee` VALUES ('0015', '李渊', '男', 55, '董事会', '董事', '25897', '2001-02-05 00:00:00', '长安');
INSERT INTO `employee` VALUES ('0016', '1', '男', 1, '经理室', '1', '1', '2001-02-05 00:00:00', '2');
-- ----------------------------
-- Table structure for salary
-- ----------------------------
DROP TABLE IF EXISTS `salary`;
CREATE TABLE `salary`  (
  `salaryID` int(4) NOT NULL AUTO_INCREMENT,
  `ID` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `name` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `basepay` int(10) NULL DEFAULT NULL,
  `welfare` int(10) NULL DEFAULT NULL,
  `reward` int(10) NULL DEFAULT NULL,
  `insurance` int(10) NULL DEFAULT NULL,
  `funds` int(10) NULL DEFAULT NULL,
  `month` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `remark` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`salaryID`, `ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of salary
-- ----------------------------
INSERT INTO `salary` VALUES (1, '0001', '赢政', 3000, 100, 100, 100, 500, '1月', '未结算');
INSERT INTO `salary` VALUES (13, '0002', '刘邦', 3000, 200, 100, 100, 400, '1月', '未结算');
INSERT INTO `salary` VALUES (15, '0003', '武则天', 2500, 100, 200, 100, 300, '1月', '未结算');
INSERT INTO `salary` VALUES (16, '0004', '刘秀', 2900, 100, 150, 250, 200, '1月', '未结算');
INSERT INTO `salary` VALUES (17, '0005', '西施', 2800, 100, 100, 100, 300, '1月', '未结算');
INSERT INTO `salary` VALUES (18, '0006', '李清照', 2700, 120, 150, 100, 300, '1月', '未结算');
INSERT INTO `salary` VALUES (19, '0007', '杨玉环', 2680, 200, 150, 100, 300, '1月', '未结算');
INSERT INTO `salary` VALUES (20, '0008', '孙权', 2900, 100, 200, 100, 500, '1月', '未结算');
INSERT INTO `salary` VALUES (21, '0009', '李世民', 2870, 200, 100, 100, 300, '1月', '未结算');
INSERT INTO `salary` VALUES (22, '0010', '项羽', 2600, 200, 100, 100, 300, '1月', '未结算');
INSERT INTO `salary` VALUES (23, '0011', '李鸿章', 2800, 200, 100, 100, 300, '1月', '未结算');
INSERT INTO `salary` VALUES (24, '0012', '张仪', 2900, 200, 150, 100, 500, '1月', '未结算');
INSERT INTO `salary` VALUES (25, '0013', '朱元璋', 2600, 250, 200, 100, 400, '1月', '未结算');
INSERT INTO `salary` VALUES (26, '0001', '赢政', 3000, 100, 200, 100, 300, '2月', '未结算');
INSERT INTO `salary` VALUES (27, '0001', '赢政', 3000, 250, 200, 100, 400, '3月', '未结算');
INSERT INTO `salary` VALUES (28, '0002', '刘邦', 3000, 250, 150, 100, 400, '2月', '未结算');
INSERT INTO `salary` VALUES (29, '0002', '刘邦', 3000, 300, 150, 100, 500, '3月', '未结算');
INSERT INTO `salary` VALUES (30, '0003', '武则天', 2900, 200, 150, 100, 300, '2月', '未结算');
INSERT INTO `salary` VALUES (31, '0003', '武则天', 2800, 250, 120, 100, 500, '3月', '未结算');
INSERT INTO `salary` VALUES (33, '0004', '刘秀', 2580, 500, 200, 100, 300, '2月', '未结算');
INSERT INTO `salary` VALUES (35, '0004', '刘秀', 2900, 200, 150, 100, 300, '3月', '未结算');
INSERT INTO `salary` VALUES (37, '0005', '西施', 2900, 200, 100, 100, 300, '2月', '未结算');
INSERT INTO `salary` VALUES (39, '0005', '西施', 2800, 200, 150, 100, 300, '3月', '未结算');
INSERT INTO `salary` VALUES (40, '0006', '李清照', 2900, 200, 100, 100, 300, '2月', '未结算');
INSERT INTO `salary` VALUES (41, '0006', '李清照', 2900, 200, 100, 100, 300, '3月', '未结算');
-- ----------------------------
-- Table structure for userlist
-- ----------------------------
DROP TABLE IF EXISTS `userlist`;
CREATE TABLE `userlist`  (
  `status` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `username` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`username`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of userlist
-- ----------------------------
INSERT INTO `userlist` VALUES ('管理员', 'admin', 'admin');
-- ----------------------------
-- Table structure for view_salary
-- ----------------------------
DROP TABLE IF EXISTS `view_salary`;
CREATE TABLE `view_salary`  (
  `ID` int(10) NOT NULL AUTO_INCREMENT,
  `工号` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `姓名` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `部门` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `职位` varchar(25) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
  `总工资` int(10) NULL DEFAULT NULL,
  `月份` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `备注` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 42 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of view_salary
-- ----------------------------
INSERT INTO `view_salary` VALUES (1, '0001', '赢政', '经理室', '经理', 2600, '1月', '未结算');
INSERT INTO `view_salary` VALUES (9, '0002', '刘邦', '技术室', '技术长', 2800, '1月', '未结算');
INSERT INTO `view_salary` VALUES (11, '0003', '武则天', '财务室', '经理', 2400, '1月', '未结算');
INSERT INTO `view_salary` VALUES (12, '0004', '刘秀', '军机部', '大王', 2700, '1月', '未结算');
INSERT INTO `view_salary` VALUES (13, '0005', '西施', '财务室', '会计', 2600, '1月', '未结算');
INSERT INTO `view_salary` VALUES (14, '0006', '李清照', '财务室', '出纳', 2570, '1月', '未结算');
INSERT INTO `view_salary` VALUES (15, '0007', '杨玉环', '财务室', '会计', 2630, '1月', '未结算');
INSERT INTO `view_salary` VALUES (16, '0008', '孙权', '外交部', '部长', 2600, '1月', '未结算');
INSERT INTO `view_salary` VALUES (17, '0009', '李世民', '董事会', '会长', 2770, '1月', '未结算');
INSERT INTO `view_salary` VALUES (18, '0010', '项羽', '经理室', '副经理', 2500, '1月', '未结算');
INSERT INTO `view_salary` VALUES (19, '0011', '李鸿章', '军机部', '部长', 2700, '1月', '未结算');
INSERT INTO `view_salary` VALUES (20, '0012', '张仪', '外交部', '部长', 2650, '1月', '未结算');
INSERT INTO `view_salary` VALUES (21, '0013', '朱元璋', '技术科', '部长', 2550, '1月', '未结算');
INSERT INTO `view_salary` VALUES (22, '0001', '赢政', '经理室', '经理', 2900, '2月', '未结算');
INSERT INTO `view_salary` VALUES (23, '0001', '赢政', '经理室', '经理', 2950, '3月', '未结算');
INSERT INTO `view_salary` VALUES (24, '0002', '刘邦', '技术室', '技术长', 2900, '2月', '未结算');
INSERT INTO `view_salary` VALUES (25, '0002', '刘邦', '技术室', '技术长', 2850, '3月', '未结算');
INSERT INTO `view_salary` VALUES (26, '0003', '武则天', '财务室', '经理', 2850, '2月', '未结算');
INSERT INTO `view_salary` VALUES (27, '0003', '武则天', '财务室', '经理', 2570, '3月', '未结算');
INSERT INTO `view_salary` VALUES (35, '0004', '刘秀', '军机部', '副部长', 2850, '3月', '未结算');
INSERT INTO `view_salary` VALUES (36, '0004', '刘秀', '军机部', '副部长', 2750, '2月', '未结算');
INSERT INTO `view_salary` VALUES (37, '0005', '西施', '财务室', '会计', 2800, '2月', '未结算');
INSERT INTO `view_salary` VALUES (39, '0005', '西施', '财务室', '会计', 2750, '3月', '未结算');
INSERT INTO `view_salary` VALUES (40, '0006', '李清照', '财务室', '出纳', 2800, '2月', '未结算');
INSERT INTO `view_salary` VALUES (41, '0006', '李清照', '财务室', '出纳', 2800, '3月', '未结算');
INSERT INTO `view_salary` VALUES (42, '0001', '赢政', '经理室', '经理', 1, '1月', '未结算');
SET FOREIGN_KEY_CHECKS = 1;


二、系统展示


1.登录系统


859a99421faa4eaa9646a228e384c32c.jpg


2.用户-登录系统


9ba89b6e45204c6f923b09c59741fb1d.jpg


3.用户-查看工资


c4e18c76a3044df0a2a372ac5d081138.jpg


4.管理员-主界面


26ede656e85e434480db721636927f81.jpg


5.管理员-添加员工信息


e39d973cb7444e9a99822a697c262127.jpg


6.管理员-修改员工信息


0afdc07e09344773b9f81c876306f160.jpg


7.管理员-删除员工信息


ac00b97b8a084c25af447611ac58e95d.jpg


8.管理员-添加部门信息


fe261ce2036f4b4ab7ccb564744aa733.jpg


9.管理员-修改部门信息


463b9ac7f617406ba4501c4341cf5567.jpg


10.管理员-删除部门信息


b84c2848613a4885aaf54bdeed0e23a6.jpg


11.管理员-工资设定


c090bc36a5684ddb9059555a98fcfd86.jpg


12.管理员-工资查询


d766c7ea13ab481a9ad936091817eb85.jpg


13.管理员-工资一览


f4475c5cc0b54ecc81e048ccb804ff78.jpg


三、部分代码


Login.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/*
 * Login.java
 *
 * Created on 2013-6-16, 21:34:00
 */
package com.sjsq;
import java.awt.Toolkit;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JOptionPane;
/**
 *
 * @author Administrator
 */
public class Login extends javax.swing.JFrame {
  static String status;
  static String name;
  private Toolkit tk = Toolkit.getDefaultToolkit();
  int x = tk.getScreenSize().width / 2 - 180;
  int y = tk.getScreenSize().height / 2 - 180;
  /** Creates new form Login */
  public Login() {
    initComponents();
    setLocation(x, y);
    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
  }
  /**
   * This method is called from within the constructor to initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is always
   * regenerated by the Form Editor.
   */
  @SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed" desc="Generated
  // Code">//GEN-BEGIN:initComponents
  private void initComponents() {
    jComboBox1 = new javax.swing.JComboBox();
    username = new javax.swing.JTextField();
    jPasswordField1 = new javax.swing.JPasswordField();
    jLabel1 = new javax.swing.JLabel();
    jLabel2 = new javax.swing.JLabel();
    jLabel3 = new javax.swing.JLabel();
    jButton1 = new javax.swing.JButton();
    jButton2 = new javax.swing.JButton();
    jLabel4 = new javax.swing.JLabel();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("登录界面");
    jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "管理员", "员工" }));
    jComboBox1.addItemListener(new ItemListener() {
      @Override
      public void itemStateChanged(ItemEvent e) {
        // TODO Auto-generated method stub
        if (e.getStateChange() == ItemEvent.SELECTED) {
          if ("员工".equals(e.getItem())) {
            jButton1.setText("查询工资");
            jLabel2.hide();
            username.hide();
            jPasswordField1.hide();
            jLabel3.hide();
            jPasswordField1.hide();
          } else {
            jButton1.setText("登录");
            jLabel2.show();
            username.show();
            jPasswordField1.show();
            jLabel3.show();
            jPasswordField1.show();
          }
        }
      }
    });
    // username.setText("quan");
    jLabel1.setText("身份:");
    jLabel2.setText("账号:");
    jLabel3.setText("密码:");
    jButton1.setText("登录");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        jButton1ActionPerformed(evt);
      }
    });
    jButton2.setText("退出");
    jButton2.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
        jButton2ActionPerformed(evt);
      }
    });
    jLabel4.setForeground(new java.awt.Color(255, 0, 0));
    jLabel4.setText("注:员工可以匿名登录");
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
        .createSequentialGroup()
        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout
            .createSequentialGroup().addGap(80, 80, 80)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                .addComponent(jLabel1).addComponent(jLabel3).addComponent(jLabel2))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 92,
                    javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout
                        .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(username, javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jComboBox1, javax.swing.GroupLayout.Alignment.LEADING, 0,
                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGap(18, 18, 18).addComponent(jLabel4))))
            .addGroup(layout.createSequentialGroup().addGap(110, 110, 110).addComponent(jButton1)
                .addGap(39, 39, 39).addComponent(jButton2)))
        .addContainerGap(54, Short.MAX_VALUE)));
    layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup().addGap(65, 65, 65)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE,
                    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jLabel1).addComponent(jLabel4))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(username, javax.swing.GroupLayout.PREFERRED_SIZE,
                    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jLabel2))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabel3).addComponent(jPasswordField1,
                    javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                    javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(35, 35, 35)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jButton1).addComponent(jButton2))
            .addContainerGap(102, Short.MAX_VALUE)));
    pack();
  }// </editor-fold>//GEN-END:initComponents
  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton1ActionPerformed
    // TODO add your handling code here:
    status = (String) jComboBox1.getSelectedItem();
    name = username.getText();
    String password = jPasswordField1.getText();
    if (status.equals("管理员")) {
      if (name.equals("")) {
        JOptionPane.showMessageDialog(null, "用户名不能为空!!");
      } else if (password.equals("")) {
        JOptionPane.showMessageDialog(null, "密码不能为空!!");
      } else {
        String sql = "select username from userlist where status = '" + status + "' and username = '" + name
            + "' and password = '" + password + "'";
        // String sql = "select * from userlist";
        System.out.println(sql);
        DBConn db = new DBConn();
        if (db.Check(sql) != 0) {
          new MainFrame().setVisible(true);
          this.hide();
        } else {
          JOptionPane.showMessageDialog(null, "用户名与密码不对!!");
        }
      }
    } else {
      new SalarySearch().setVisible(true);
    }
  }// GEN-LAST:event_jButton1ActionPerformed
  private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_jButton2ActionPerformed
    // TODO add your handling code here:
    int selection = JOptionPane.showConfirmDialog(this, "是否退出?", "退出提示", JOptionPane.OK_CANCEL_OPTION,
        JOptionPane.WARNING_MESSAGE);
    if (selection == JOptionPane.OK_OPTION) {
      System.exit(0);
    }
  }// GEN-LAST:event_jButton2ActionPerformed
  /**
   * @param args the command line arguments
   */
  public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
        new Login().setVisible(true);
      }
    });
  }
  // Variables declaration - do not modify//GEN-BEGIN:variables
  private javax.swing.JButton jButton1;
  private javax.swing.JButton jButton2;
  private javax.swing.JComboBox jComboBox1;
  private javax.swing.JLabel jLabel1;
  private javax.swing.JLabel jLabel2;
  private javax.swing.JLabel jLabel3;
  private javax.swing.JLabel jLabel4;
  private javax.swing.JPasswordField jPasswordField1;
  private javax.swing.JTextField username;
  // End of variables declaration//GEN-END:variables
}


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
7月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
327 13
|
9月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
172 0
|
11月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
680 17
|
11月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
2993 26
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
1227 12
|
消息中间件 缓存 弹性计算
纯PHP+MySQL手搓高性能论坛系统!代码精简,拒绝臃肿
本内容分享了一套经实战验证的社交系统架构设计,支撑从1到100万用户的发展,并历经6次流量洪峰考验。架构涵盖客户端层(App、小程序、公众号)、接入层(API网关、负载均衡、CDN)、业务服务层(用户、内容、关系、消息等服务)、数据层(MySQL、Redis、MongoDB等)及运维监控层(日志、监控、告警)。核心设计包括数据库分库分表、多级缓存体系、消息队列削峰填谷、CQRS模式与热点数据动态缓存。同时提供应对流量洪峰的弹性伸缩方案及降级熔断机制,并通过Prometheus实现全链路监控。开源建议结构清晰,适合大型社交平台构建与优化。
450 11
|
人工智能 关系型数据库 分布式数据库
100%兼容MySQL!手把手教你基于PolarDB搭建RAG系统
100%兼容MySQL!手把手教你基于PolarDB搭建RAG系统
797 0
|
6月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
320 1

推荐镜像

更多
下一篇
开通oss服务