海南大学-数据库课程设计-企业人事档案管理系统

本人大二下学期学习数据库和java,碰巧学校要求做一个数据库系统,要求有界面的交互....正好借此机会我想着看能不能把这两学到的东西都用起来,所以就创建了此系统

操作平台:idea、mysql

系统要求:

企业人事档案管理系统

(1)基本要求

企业需要利用计算机实现人事档案管理。

(2)基本功能  

①基本设置;包括民族类型、婚姻状况、政治面貌、文化程度、所学专业、部门类型、职务类型,职称类型等信息的设置功能。

②档案管理:包括员工调动、离职、复职管理,并可实时查询所有变动情况及离职员工原始档案资料。

③统计分析:可按部门、工龄、职务,职称、性别、基本工资、文化程度、民族等统计分析员工信息。

④数据维护:包括数据备份、数据恢复和数据初始化。

⑤系统管理:包括权限管理、参数设置、修改密码

功能部分截图:

 

 Mysql见表事例:

代码:

enterprisePersonnelFileManagementSystem部分
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.sql.*;
import java.util.Scanner;
public class enterprisePersonnelFileManagementSystem {
    public static void main(String[] args){
        //idea连接Mysql的代码申明                                                 //第一阶段
        Connection con=null;
        Statement sql;
        ResultSet rs;
        Scanner in = new Scanner(System.in);
        String DBName,id,pwd;
        //idea面板化 代码申明
        MainWindow window = new MainWindow();
        window.setTitle("企业人事档案管理系统登录平台");
    }
}

MainWindow部分:
package enterprisePersonnelFileManagementSystem;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;

public class MainWindow extends JFrame implements ActionListener{
    JButton computerButton;
    RegisterAndLoginView view;
    Connection con = null;Statement sql;ResultSet rs;                                   //老三样
    //String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true&characterEncoding=utf-8";
    String sqlStr = "select identity from user where userID = ";                 //查询是员工还是管理员登录的语句
    String user,pw;
    String checkIdentity;
    MainWindow() {
        setBounds(100,100,700,260);
        view = new RegisterAndLoginView();
        computerButton = new JButton("开始操作");
        computerButton.addActionListener(this);
        add(view,BorderLayout.CENTER);
        add(computerButton,BorderLayout.NORTH);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent e) {
        if(view.isLoginSuccess()==false){
            JOptionPane.showMessageDialog(null,"请登录","登录提示",
                    JOptionPane.WARNING_MESSAGE);//                                        attention!操作提示对话框!提示错误很有用
        }
        else {
            //Hua_Rong_Road win=new Hua_Rong_Road();//华容道
            //在这里实现增删改查!!!!
            //实现步骤1,先根据登录情况,判读是管理员还是员工(查user表!,看idetity的属性)                                   完成!!!
            user = view.loginView.login.getID();//                                              可以得到登陆的账号
            pw = view.loginView.login.getPassword();//                                          可以得到登录的密码
            //System.out.println(user+" "+pw);//测试用户账号密码是否正确                                              完成!!!
            try{
                con = GetDBConnection.connectDB("企业人事档案管理",user,pw);
                sqlStr = sqlStr+user;
                sql=con.createStatement();
                rs=sql.executeQuery(sqlStr);
                while(rs.next()){
                    checkIdentity = rs.getString("identity");
                }
            } catch (SQLException throwables) {throwables.printStackTrace();}
            System.out.println(checkIdentity);                                            //测试点
            //实现步骤2,判断如果是员工,就只有查(工资,部门,同事,考勤情况)、修改密码的功能,
            if(checkIdentity.equals("员工") ){
//                System.out.println("内部!"+checkIdentity);                              //测试点测试连接的是不是员工
//                System.out.println("员工开始操作!");
                new gcView();
            }
            //实现步骤3,判断如果是管理员,可以查(员工工资,员工考勤,离职员工信息)、更改(考勤情况,员工信息eg账号密码,职位调动)新增(新员工)、删除用户、并且在caseRecord中也要记录上!
            else if(checkIdentity.equals("管理员")){
//                System.out.println("内部!"+checkIdentity);                              //测试点测试连接的是不是管理员
//                System.out.println("管理员开始操作!");
                new zsgcView();
            }
            else{System.out.println("错啦!");}
        }
    }
}
zsgcView部分:
package enterprisePersonnelFileManagementSystem;

import javax.swing.*;
import java.awt.*;
public class zsgcView extends JFrame{//管理员的增删改查
    JTabbedPane p;
    DropView dropView;
    AddUserView addUserView;
    UpdateInformView upinformView;
    UpdateJobView updateJobView;
    SalaryQView salaryQView;
    DimissionQView dimissionQView;
    CheckQView checkQView;
    AgeQView ageQView;
    public zsgcView(){
        init();
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setTitle("管理员操作模块");
        setVisible(true);
    }
    public void init(){
        setBounds(300,300,900,300);
        dropView = new DropView();
        addUserView = new AddUserView();
        upinformView = new UpdateInformView();
        updateJobView = new UpdateJobView();
        salaryQView = new SalaryQView();
        dimissionQView = new DimissionQView();
        checkQView = new CheckQView();
        ageQView = new AgeQView();
        setLayout(new BorderLayout());
        p = new JTabbedPane();
        p.add("删除员工模块",dropView);
        p.add("增加员工模块",addUserView);
        p.add("修改账户信息模块",upinformView);
        p.add("更新职位模块",updateJobView);
        p.add("员工工资查询模块",salaryQView);
        p.add("离职员工信息查询模块",dimissionQView);
        p.add("考勤查询模块",checkQView);
        p.add("工龄查询模块",ageQView);
        //p.add("修改员工信息模块",gv);
        p.validate();
        add(p,BorderLayout.CENTER);
        setVisible(true);
    }
    public boolean isDropped(){return dropView.isDropped(); }
    public boolean isUpdate(){return  upinformView.isUpdate();}
    public boolean isUpdate2(){return updateJobView.isUpdate();}
}

gcView部分:

package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.*;
public class gcView extends JFrame{
    JTabbedPane p;
    UpdateInformView upinformView;
    PersonalInformView personalInformView;
    SalaryQView salaryQView;
    ColleagueQView colleagueQView;
    public gcView(){
        init();
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setTitle("员工操作模块");
        setVisible(true);
    }
    public void init(){
        setBounds(300,300,900,300);
        upinformView = new UpdateInformView();
        personalInformView = new PersonalInformView();
        salaryQView = new SalaryQView();
        colleagueQView = new ColleagueQView();
        //personcalIformView = new PersoncalIformView();
        setLayout(new BorderLayout());
        p = new JTabbedPane();
        p.add("修改账户信息模块",upinformView);
        p.add("个人信息修改模块",personalInformView);
        p.add("个人工资查询模块",salaryQView);
        p.add("同事信息查询模块",colleagueQView);
        p.validate();
        add(p,BorderLayout.CENTER);
        setVisible(true);
    }
    public boolean isUpdate(){return  upinformView.isUpdate();}
}

下面就是一个个的类了,学弟学妹们按次序一个个的创建class然后ctrl+c、ctrl+v即可🧐

AddUser部分:
package enterprisePersonnelFileManagementSystem;

public class AddUser {
    boolean addSuccess = false;
    String employeeID,employeeName,phoneNum,sex,address,ethnicType,maritalStatus,politicalStatus,degreeOfEdu,major,careerID,user,pwd;
    String serialNum,changeTime;
    public void setEmployeeID(String employeeID){this.employeeID = employeeID;}
    public void setEmployeeName(String employeeName){this.employeeName = employeeName;}
    public void setPhoneNum(String phoneNum){this.phoneNum = phoneNum;}
    public void setSex(String sex){this.sex = sex;}
    public void setAddress(String address){this.address = address;}
    public void setEthnicType(String ethnicType){this.ethnicType = ethnicType;}
    public void setMaritalStatus(String maritalStatus){this.maritalStatus = maritalStatus;}
    public void setPoliticalStatus(String politicalStatus){this.politicalStatus = politicalStatus;}
    public void setDegreeOfEdu(String degreeOfEdu){this.degreeOfEdu = degreeOfEdu;}
    public void setMajor(String major){this.major = major;}
    public void setCareerID(String careerID){this.careerID = careerID;}
    public void setUser(String user){this.user = user;}
    public void setPwd(String pwd){this.pwd = pwd;}
    public void setSerialNum(String serialNum){this.serialNum = serialNum;}
    public void setChangeTime(String changeTime){this.changeTime = changeTime;}

    public String getEmployeeID(){return employeeID;}
    public String getEmployeeName(){return employeeName;}
    public String getPhoneNum(){return phoneNum;}
    public String getSex(){return sex;}
    public String getAddress() {return address;}
    public String getEthnicType() {return ethnicType;}
    public String getMaritalStatus() {return maritalStatus;}
    public String getPoliticalStatus(){return politicalStatus;}
    public String getDegreeOfEdu() {return degreeOfEdu;}
    public String getMajor() {return major;}
    public String getCareerID() {return careerID;}
    public String getUser() {return user;}
    public String getPwd() {return pwd;}
    public String getSerialNum() {return serialNum;}
    public String getChangeTime() {return changeTime;}
}
AddUserView部分
package enterprisePersonnelFileManagementSystem;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class AddUserView extends JPanel implements ActionListener,ItemListener{
    AddUser addUser;
    JTextField employeeID,employeeName,phoneNum,address,ethnicType,major,careerID,user,pwd,changeTime;//
    //创建政治面貌、学位、
    JComboBox<String>politicalStatus;
    JComboBox<String>degreeOfEdu;
    JRadioButton male,female,married,unmarried;//性别,婚姻状况
    String PS,DOG;
    String sex,marryStatus;
    ButtonGroup group1,group2;
    JButton buttonAdd;
    AddUserView(){
        addUser = new AddUser();
        employeeID = new JTextField(6);
        employeeName = new JTextField(6);
        phoneNum = new JTextField(8);
        address = new JTextField(8);
        ethnicType = new JTextField(6);
        major = new JTextField(6);
        careerID = new JTextField(8);
        user = new JTextField(8);
        pwd = new JTextField(8);
        changeTime = new JTextField(10);
        buttonAdd = new JButton("确认");

        add(new JLabel("员工编号:"));add(employeeID);
        add(new JLabel("员工姓名:"));add(employeeName);
        add(new JLabel("电话:"));add(phoneNum);
        add(new JLabel("住址:"));add(address);
        add(new JLabel("民族:"));add(ethnicType);
        add(new JLabel("专业:"));add(major);
        add(new JLabel("职位编号:"));add(careerID);
        add(new JLabel("账号:"));add(user);
        add(new JLabel("密码:"));add(pwd);
        add(new JLabel("注册时间:"));add(changeTime);

        politicalStatus = new JComboBox<String>();
        politicalStatus.addItem("请点击选择");
        politicalStatus.addItem("群众");
        politicalStatus.addItem("共青团员");
        politicalStatus.addItem("党员");
        add(new JLabel("政治面貌:"));
        add(politicalStatus);
        //add((Component) itemListener1);                                   //注意这个地方出错的可能!!
        politicalStatus.addItemListener(itemListener1);
        degreeOfEdu = new JComboBox<String>();
        degreeOfEdu.addItem("请点击选择");
        degreeOfEdu.addItem("本科生");
        degreeOfEdu.addItem("研究生");
        degreeOfEdu.addItem("博士生");
        add(new JLabel("学历:"));
        add(degreeOfEdu);
        //add((Component) itemListener2);                                   //注意这个地方出错的可能!!
        degreeOfEdu.addItemListener(itemListener2);

        group1 = new ButtonGroup();male = new JRadioButton("男");female = new JRadioButton("女");
        group1.add(male);group1.add(female);
        group2 = new ButtonGroup();married = new JRadioButton("已婚");unmarried = new JRadioButton("未婚");
        group2.add(married);group2.add(unmarried);
        male.addItemListener(this);female.addItemListener(this);
        married.addItemListener(this);unmarried.addItemListener(this);

        add(new JLabel("性别:"));
        add(male);add(female);
        add(new JLabel("婚姻状态:"));
        add(married);add(unmarried);
        add(buttonAdd);
        buttonAdd.addActionListener(this);
    }
    public void itemStateChanged(ItemEvent e){
        if(e.getSource()==male){sex = "男";}
        else if(e.getSource()==female){sex = "女";}
        else if(e.getSource()==married){marryStatus="已婚";}
        else if(e.getSource()==unmarried){marryStatus="未婚";}
        else{JOptionPane.showMessageDialog(null,"单选选择错误!","错误提示", JOptionPane.WARNING_MESSAGE);}
    }
    ItemListener itemListener1 = new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            if(e.SELECTED == e.getStateChange()){
                PS = e.getItem().toString();
            }
        }
    };
    ItemListener itemListener2 = new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            if(e.SELECTED == e.getStateChange()){
                DOG = e.getItem().toString();
            }
        }
    };
    public void actionPerformed(ActionEvent e){
        addUser.setEmployeeID(employeeID.getText());
        addUser.setEmployeeName(employeeName.getText());
        addUser.setPhoneNum(phoneNum.getText());
        addUser.setSex(sex);
        addUser.setAddress(address.getText());
        addUser.setEthnicType(ethnicType.getText());
        addUser.setMaritalStatus(marryStatus);
        addUser.setChangeTime(changeTime.getText());
        //加政治面貌和学位
        addUser.setPoliticalStatus(PS);
        addUser.setDegreeOfEdu(DOG);
        addUser.setMajor(major.getText());
        addUser.setCareerID(careerID.getText());
        addUser.setUser(user.getText());
        addUser.setPwd(pwd.getText());
        HandleAddUser handleAddUser = new HandleAddUser();
        handleAddUser.addUserModel(addUser);
    }
}
AgeQView部分
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.event.*;
public class AgeQView extends JPanel implements ActionListener{
    queryInform queryinform;
    JTextField employeeID;
    JButton buttonQ;
    AgeQView(){
        queryinform = new queryInform();
        employeeID = new JTextField(12);
        buttonQ = new JButton("确认查询");
        add(new JLabel("员工编号:"));
        add(employeeID);
        add(buttonQ);
        buttonQ.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e){
        queryinform.setEmployeeID(employeeID.getText());
        HandleAgeQ handleAgeQ = new HandleAgeQ();
        queryinform = handleAgeQ.AgeQModel(queryinform);
    }
}
CheckQView部分:
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.event.*;
public class CheckQView extends JPanel implements ActionListener{
    queryInform queryinform;
    JTextField year,month;
    JButton buttonQ;
    CheckQView(){
        queryinform = new queryInform();
        year = new JTextField(12);
        month = new JTextField(12);
        buttonQ = new JButton("确认查询");
        add(new JLabel("考勤年份:"));
        add(year);
        add(new JLabel("考勤月份:"));
        add(month);
        add(buttonQ);
        buttonQ.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e){
        queryinform.setYear(year.getText());
        queryinform.setMonth(month.getText());
        HandleCheckQ handleCheckQ = new HandleCheckQ();
        queryinform = handleCheckQ.CheckQModel(queryinform);
    }
}
ColleagueQView部分
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.event.*;
public class ColleagueQView extends JPanel implements ActionListener{
    queryInform queryinform;
    JTextField employeeID;
    JButton buttonQ;
    ColleagueQView(){
        queryinform = new queryInform();
        employeeID = new JTextField(12);
        buttonQ = new JButton("确认查询");
        add(new JLabel("查询账号:"));
        add(employeeID);
        add(buttonQ);
        buttonQ.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e){
        queryinform.setEmployeeID(employeeID.getText());
        HandleColleagueQ handleColleagueQ = new HandleColleagueQ();
        queryinform = handleColleagueQ.ColleagueQModel(queryinform);
    }
}
DimissionQView部分:
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.event.*;
public class DimissionQView extends JPanel implements ActionListener{
    queryInform queryinform;
    JButton buttonQ;
    DimissionQView(){
        queryinform = new queryInform();
        buttonQ = new JButton("确认查询");
        add(buttonQ);
        buttonQ.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e){
        HandleDimissionQ handleDimissionQ = new HandleDimissionQ();
        queryinform = handleDimissionQ.DimissionQModel(queryinform);
    }
}
DropUser部分:
package enterprisePersonnelFileManagementSystem;

public class DropUser {
    String id,password,userID,serialNum,employeeID,careerID,changeTime;
    boolean isDropped = false;//默认是没有删除吊的,如果在表中无此对象,则不修改isDropped,并且抛出对象:“无法删除该用户!无此用户!”
    public void setID(String id){
        this.id = id;
    }
    public void setPassword(String password){
        this.password = password;
    }
    public void setUserID(String userID) {this.userID = userID;employeeID = userID;}
    public void setSerialNum(String serialNum){this.serialNum = serialNum;}
    //public void setEmployeeID(){employeeID = userID;}
    public void setCareerID(String careerID){this.careerID = careerID;}
    public void setChangeTime(String changeTime){this.changeTime = changeTime;}

    public String getID() {
        return id;
    }
    public String getPassword(){return password;}
    public String getUserID() {return userID;}
    public String getSerialNum() {return serialNum;}
    public String getEmployeeID() {return employeeID;}
    public String getCareerID() {return careerID;}
    public String getChangeTime() {return changeTime;}

    public void setisDropped(boolean dropped) {isDropped = dropped;}
    public boolean getisDropped() {return isDropped;}
}
DropView部分:
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.event.*;
public class DropView extends JPanel implements ActionListener{
    DropUser dropUser;
    JTextField serialNum,userID,careerID,changeTime;
    JButton buttonDrop;
    boolean isDropped;
    DropView(){
        dropUser = new DropUser();
        //serialNum = new JTextField(12);
        userID = new JTextField(12);
        careerID = new JTextField(12);
        changeTime = new JTextField(12);
        buttonDrop = new JButton("确认删除");
        add(new JLabel("ID:"));
        add(userID);
        add(new JLabel("职位编号:"));
        add(careerID);
        add(new JLabel("删除时间:"));
        add(changeTime);
        add(buttonDrop);
        buttonDrop.addActionListener(this);
    }
    public boolean isDropped() {return isDropped;}
    public void actionPerformed(ActionEvent e){
        //dropUser.setSerialNum(serialNum.getText());
        dropUser.setUserID(userID.getText());
        dropUser.setCareerID(careerID.getText());
        dropUser.setChangeTime(changeTime.getText());
        HandleDropUser handleDropUser = new HandleDropUser();
        dropUser = handleDropUser.DropWho(dropUser);
        isDropped = dropUser.getisDropped();
    }
}
GetDBConnection部分
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.sql.*;
public class GetDBConnection {
    public static Connection connectDB(String DBName,String id,String pwd){
        Connection con = null;
        String uri = "jdbc:mysql://localhost:3306/"+DBName+"?useSSL=true&characterEncoding=utf-8";
        try{
            Class.forName("com.mysql.jdbc.Driver");
        }
        catch (Exception e){}
        try {
            con = DriverManager.getConnection(uri,id,pwd);
        }
        catch (SQLException e){
            JOptionPane.showMessageDialog(null,"错误!此用户无权操作!","登录提示", JOptionPane.WARNING_MESSAGE);//登录进去但是无权操作
        }                                                                                                                  //防止的是用户刚刚注册就查看自己的信息
        return con;
    }
}
HandleAddUser部分:
package enterprisePersonnelFileManagementSystem;
import java.sql.*;
import javax.swing.JOptionPane;
public class HandleAddUser {
    Connection con,con2;
    PreparedStatement preSql;
    String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
    //public HandleInsertData(String userID,String pwd){
    public HandleAddUser(){
        try{  Class.forName("com.mysql.jdbc.Driver");//加载JDBC-MySQL驱动
        }
        catch(Exception e){}
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
            //con = DriverManager.getConnection(uri,userID,pwd);  //连接代码 自己写的代码
        }
        catch(SQLException e){}
    }
    public void addUserModel(AddUser addUser){
        String sqlStr ="insert into employee values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
        String sqlStr2 = "insert into caserecord values(?,?,'入职',?,?)";
        String serialNum = addUser.getSerialNum();
        String changeTime = addUser.getChangeTime();
        int ok1 = 0,ok2 = 0;
        String employeeID = addUser.getEmployeeID();
        String employeeName = addUser.getEmployeeName();
        String phoneNum = addUser.getPhoneNum();
        String sex = addUser.getSex();
        String address = addUser.getAddress();
        String ethnicType = addUser.getEthnicType();
        String maritalStatus = addUser.getMaritalStatus();
        String politicalStatus = addUser.getPoliticalStatus();
        String degreeOfEdu = addUser.getDegreeOfEdu();
        String major = addUser.getMajor();
        String careerID = addUser.getCareerID();
        String user = addUser.getUser();
        String pwd = addUser.getPwd();
        try{
            preSql = con.prepareStatement(sqlStr);
            preSql.setString(1,employeeID);
            preSql.setString(2,employeeName);
            preSql.setString(3,phoneNum);
            preSql.setString(4,sex);
            preSql.setString(5,address);
            preSql.setString(6,ethnicType);
            preSql.setString(7,maritalStatus);
            preSql.setString(8,politicalStatus);
            preSql.setString(9,degreeOfEdu);
            preSql.setString(10,major);
            preSql.setString(11,careerID);
            preSql.setString(12,user);
            preSql.setString(13,pwd);
            ok1 = preSql.executeUpdate();
            con.close();
        }
        catch(SQLException e) {
            JOptionPane.showMessageDialog(null,"不能重复插入员工信息!","警告", JOptionPane.WARNING_MESSAGE);
        }

        if(ok1!=0) {
            JOptionPane.showMessageDialog(null,"员工信息插入成功!", "员工信息插入",JOptionPane.WARNING_MESSAGE);
        }
        try{
            con2 = DriverManager.getConnection(uri,"root","123456");
            preSql = con2.prepareStatement(sqlStr2);
            preSql.setString(1,serialNum);
            preSql.setString(2,employeeID);
            preSql.setString(3,careerID);
            preSql.setString(4,changeTime);
            ok2 = preSql.executeUpdate();
            con2.close();
        }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null,"档案记录更新失败!", "档案记录",JOptionPane.WARNING_MESSAGE);
        }
        if(ok2  !=0){
            JOptionPane.showMessageDialog(null,"档案记录更新成功!", "档案记录",JOptionPane.WARNING_MESSAGE);
        }
    }
}
HandleAgeQ部分:
package enterprisePersonnelFileManagementSystem;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import javax.swing.*;
public class HandleAgeQ {
    Connection con,con2;
    Statement sql;
    PreparedStatement preSql;
    ResultSet rs;
    HandleAgeQ(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
        }
        catch(SQLException e){}
    }
    public queryInform AgeQModel(queryInform queryinform){
        String employeeID = queryinform.getEmployeeID();
        String SQL2 = " select employee.employeeID,employeeName,(year(curdate())-year(changeTime))+(RIGHT(curdate(),5)-RIGHT(changeTime,5))/10 as 工龄 "+
                " from employee,caserecord where employee.employeeID = caserecord.employeeID AND positionStatus = '入职' AND caserecord.employeeID = "+employeeID;
        String []tableHead;
        String [][]content;
        JTable table;
        JFrame win = new JFrame();
        Query findRecord = new Query();
        findRecord.setDatabaseName("企业人事档案管理");findRecord.setId("root");findRecord.setPwd("123456");
        findRecord.setSQL(SQL2);              //检测代码
        //System.out.println(SQL2);
        content = findRecord.getRecord();
        tableHead = findRecord.getColumnName();
        table = new JTable(content,tableHead);
        win.add(new JScrollPane(table));
        win.setTitle("企业人事档案管理");
        win.setBounds(200,100,400,300);
        win.setVisible(true);//win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        return queryinform;
    }
}
HandleCheckQ部分:
package enterprisePersonnelFileManagementSystem;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import javax.swing.*;
public class HandleCheckQ {
    Connection con,con2;
    Statement sql;
    PreparedStatement preSql;
    ResultSet rs;
    HandleCheckQ(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
        }
        catch(SQLException e){}
    }
    public queryInform CheckQModel(queryInform queryinform){
        String employeeID = queryinform.getEmployeeID();
        String year = queryinform.getYear();
        String month = queryinform.getMonth();
        String SQL2 = "select employee.employeeID,employee.employeeName,attendanceStatus,attendanceTime "+
                " from employee,attendance where employee.employeeID = attendance.employeeID AND attendance.attendanceTime = '"+year+"-0"+month+"-01'";
        //" attendance.attendanceTime= '"+year+"-0"+month+"-01'"
        String []tableHead;
        String [][]content;
        JTable table;
        JFrame win = new JFrame();
        Query findRecord = new Query();
        findRecord.setDatabaseName("企业人事档案管理");findRecord.setId("root");findRecord.setPwd("123456");
        findRecord.setSQL(SQL2);              //检测代码
        //System.out.println(SQL2);
        content = findRecord.getRecord();
        tableHead = findRecord.getColumnName();
        table = new JTable(content,tableHead);
        win.add(new JScrollPane(table));
        win.setTitle("企业人事档案管理");
        win.setBounds(200,100,400,300);
        win.setVisible(true);//win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        return queryinform;
    }
}
HandleColleagueQ部分:
package enterprisePersonnelFileManagementSystem;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import javax.swing.*;
public class HandleColleagueQ {
    Connection con,con2;
    Statement sql;
    PreparedStatement preSql;
    ResultSet rs;
    public HandleColleagueQ(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
        }
        catch(SQLException e){}
    }
    public queryInform ColleagueQModel(queryInform queryinform){
        String employeeID = queryinform.getEmployeeID();
        String SQL2 =" select employee.employeeName,employee.phoneNum,employee.careerID,career.careerName,department.departmentName "+
                " from employee,career,department "+
                " where employee.careerID = career.careerID AND career.departmentID = department.departmentID AND department.departmentID =  "+
                " (select department.departmentID from employee,career,department "+
                " where employee.careerID = career.careerID AND career.departmentID = department.departmentID AND employeeID = "+
                employeeID+")";
        //查询语句的申明:成效好不好,试了才知道!!好好好!非常好,谁用谁知道!
        String []tableHead;
        String [][]content;
        JTable table;
        JFrame win = new JFrame();
        Query findRecord = new Query();
        findRecord.setDatabaseName("企业人事档案管理");findRecord.setId("root");findRecord.setPwd("123456");
        findRecord.setSQL(SQL2);              //检测代码
        //System.out.println(SQL2);
        content = findRecord.getRecord();
        tableHead = findRecord.getColumnName();
        table = new JTable(content,tableHead);
        win.add(new JScrollPane(table));
        win.setTitle("企业人事档案管理");
        win.setBounds(200,100,400,300);
        win.setVisible(true);//win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        return queryinform;
    }
}
HandleDimissionQ部分:
package enterprisePersonnelFileManagementSystem;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import javax.swing.*;
public class HandleDimissionQ {
    Connection con,con2;
    Statement sql;
    PreparedStatement preSql;
    ResultSet rs;
    HandleDimissionQ(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
        }
        catch(SQLException e){}
    }
    public queryInform DimissionQModel(queryInform queryinform){
        String employeeID = queryinform.getEmployeeID();
        String SQL2 = "select employee.employeeID,employeeName,phoneNum,sex,address,ethnicType,maritalStatus,politicsStatus,degreeOfEdu,major,changeTime as 职位变动时间, positionStatus as 职位变动原因"+
                " from employee,caserecord "+
                " where employee.employeeID = caserecord.employeeID AND caserecord.employeeID in( select caserecord.employeeID from caserecord where positionStatus = '离职')";
        String []tableHead;
        String [][]content;
        JTable table;
        JFrame win = new JFrame();
        Query findRecord = new Query();
        findRecord.setDatabaseName("企业人事档案管理");findRecord.setId("root");findRecord.setPwd("123456");
        findRecord.setSQL(SQL2);              //检测代码
        //System.out.println(SQL2);
        content = findRecord.getRecord();
        tableHead = findRecord.getColumnName();
        table = new JTable(content,tableHead);
        win.add(new JScrollPane(table));
        win.setTitle("企业人事档案管理");
        win.setBounds(200,100,400,300);
        win.setVisible(true);//win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        return queryinform;
    }
}
HandleDropUser部分:
package enterprisePersonnelFileManagementSystem;

import java.sql.*;
import javax.swing.JOptionPane;
public class HandleDropUser {
    Connection con,con2;
    Statement sql;
    PreparedStatement preSql;
    ResultSet rs;
    public HandleDropUser(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
    }
    public DropUser DropWho(DropUser dUser){
        String userID = dUser.getUserID();
        String sqlStr = "delete from user where userID = "+userID;
        String sqlStr2 = "insert into caserecord values(?,?,'离职',?,?)";
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        String serialNum = dUser.getSerialNum();
        String employeeID = dUser.getEmployeeID();
        String careerID = dUser.getCareerID();
        String changeTime = dUser.getChangeTime();
        int ok = 0;
        try{
            con = DriverManager.getConnection(uri,"root","123456");
            sql = con.createStatement();
            //rs = sql.executeUpdate(sqlStr);//             注意!!!!!!!!!删除语句是不需要rs去接收的!!!,直接执行就是了
            //sql.executeUpdate(sqlStr);
            int p = sql.executeUpdate(sqlStr);//            代码测试!
            //System.out.println(p);
            if(p>0){
                dUser.setisDropped(true);
                JOptionPane.showMessageDialog(null,"删除成功", "删除用户",JOptionPane.WARNING_MESSAGE);
            }
            else{
                dUser.setisDropped(false);
                JOptionPane.showMessageDialog(null,"删除失败,请查询是否有此用户!", "删除用户",JOptionPane.WARNING_MESSAGE);
            }
            con.close();
        }
        catch(SQLException e){}
        try{
            con2 = DriverManager.getConnection(uri,"root","123456");
            preSql = con2.prepareStatement(sqlStr2);
            preSql.setString(1,serialNum);
            preSql.setString(2,employeeID);
            preSql.setString(3,careerID);
            preSql.setString(4,changeTime);
            ok = preSql.executeUpdate();
            con2.close();
        }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null,"档案记录更新失败!", "档案记录",JOptionPane.WARNING_MESSAGE);
        }
        if(ok!=0){
            JOptionPane.showMessageDialog(null,"档案记录更新成功!", "档案记录",JOptionPane.WARNING_MESSAGE);
        }
        return dUser;
    }
}
HandleInsertData部分:
package enterprisePersonnelFileManagementSystem;

import java.sql.*;
import javax.swing.JOptionPane;
public class HandleInsertData {
    Connection con;
    PreparedStatement preSql;
    //public HandleInsertData(String userID,String pwd){
    public HandleInsertData(){
        try{  Class.forName("com.mysql.jdbc.Driver");//加载JDBC-MySQL驱动
        }
        catch(Exception e){}
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
            //con = DriverManager.getConnection(uri,userID,pwd);  //连接代码 自己写的代码
        }
        catch(SQLException e){}
    }
    public void writeRegisterModel(Register register) {
        //String sqlStr ="insert into user values(?,?,?)";
        //String sqlStr ="insert into employee(user,pwd) values(?,?)";
        String sqlStr ="insert into user values(?,?,?)";
        int ok = 0;
        String id = register.getID();
        //System.out.println(id);
        String pwd = register.getPassword();
        //System.out.println(pwd);
        String identity = register.getIdentity();
        try {
            preSql = con.prepareStatement(sqlStr);
            preSql.setString(1,id);
            preSql.setString(2,pwd);
            preSql.setString(3,identity);
            //preSql.setString(3,register.getBirth());
            ok = preSql.executeUpdate();
            //System.out.println(ok);                                           //测试点,测试是否成功
            con.close();
        }
        catch(SQLException e) {
            JOptionPane.showMessageDialog(null,"id不能重复","警告", JOptionPane.WARNING_MESSAGE);
        }
        if(ok!=0) {
            JOptionPane.showMessageDialog(null,"注册成功", "你好!用户"+id,JOptionPane.WARNING_MESSAGE);
        }
    }
}
HandleLogin部分:
package enterprisePersonnelFileManagementSystem;

import java.sql.*;
import javax.swing.JOptionPane;
public class HandleLogin {
    Connection con;
    PreparedStatement preSql;
    ResultSet rs;
    public HandleLogin(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456");
        }
        catch(SQLException e){}
    }
    public Login queryVerify(Login loginModel) {
        String id = loginModel.getID();
        String pw = loginModel.getPassword();
//        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
//        try{
//            con = DriverManager.getConnection(uri,id,pw);
//        }
//        catch(SQLException e){}
        String sqlStr ="select userID,pwd from user where "+" userID = ? and pwd = ?";
        try {
            preSql = con.prepareStatement(sqlStr);
            preSql.setString(1,id);
            preSql.setString(2,pw);
            rs = preSql.executeQuery();
            if(rs.next()==true) {
                loginModel.setLoginSuccess(true);
                JOptionPane.showMessageDialog(null,"登录成功",
                        "你好!用户"+id,JOptionPane.WARNING_MESSAGE);
            }
            else {
                loginModel.setLoginSuccess(false);
                JOptionPane.showMessageDialog(null,"登录失败",
                        "登录失败,重新登录",JOptionPane.WARNING_MESSAGE);
            }
            con.close();
        }
        catch(SQLException e) {}
        return loginModel;
    }
}

HandlePersonalInform部分:
package enterprisePersonnelFileManagementSystem;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import javax.swing.JOptionPane;
public class HandlePersonalInform {
    Connection con,con2;
    Statement sql;
    PreparedStatement preSql;
    ResultSet rs;
    public HandlePersonalInform(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
        }
        catch(SQLException e){}
    }
    public PersonalInform PersonalInformModel(PersonalInform personalInform){
        String employeeID = personalInform.getEmployeeID();
        String phoneNum = personalInform.getPhoneNum();
        String sex = personalInform.getSex();
        String address = personalInform.getAddress();
        String ethnicType = personalInform.getEthnicType();
        String maritalStatus = personalInform.getMaritalStatus();
        String politicsStatus = personalInform.getPoliticsStatus();
        String degreeOfEdu = personalInform.getDegreeOfEdu();
        String major = personalInform.getMajor();
        String SQL = "update employee set phoneNum = ?,sex = ?,address = ?,ethnicType = ?,maritalStatus = ?,politicsStatus = ?,degreeOfEdu = ?,major = ? where employeeID = ?";
        int ok1 = 0,ok2 = 0,ok3 = 0,ok4 = 0,ok5 = 0,ok6 = 0,ok7 = 0,ok8 = 0;
        try{
            preSql = con.prepareStatement(SQL);
            preSql.setString(1,phoneNum);
            preSql.setString(2,sex);
            preSql.setString(3,address);
            preSql.setString(4,ethnicType);
            preSql.setString(5,maritalStatus);
            preSql.setString(6,politicsStatus);
            preSql.setString(7,degreeOfEdu);
            preSql.setString(8,major);
            preSql.setString(9,employeeID);
            ok1 = preSql.executeUpdate();
            con.close();

        }
        catch(SQLException e) {
            JOptionPane.showMessageDialog(null,"个人信息修改错误!","警告", JOptionPane.WARNING_MESSAGE);
        }
        if(ok1!=0) {
            JOptionPane.showMessageDialog(null,"个人信息修改成功!", "个人信息更新",JOptionPane.WARNING_MESSAGE);
        }
        else{
            JOptionPane.showMessageDialog(null,"测试点2!个人信息修改错误!","警告", JOptionPane.WARNING_MESSAGE);
        }
        return personalInform;
    }
}
HandleSalaryQ部分:
package enterprisePersonnelFileManagementSystem;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import javax.swing.*;

public class HandleSalaryQ {
    Connection con,con2;
    Statement sql;
    PreparedStatement preSql;
    ResultSet rs;
    public HandleSalaryQ(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
        }
        catch(SQLException e){}
    }
    public queryInform SalaryQModel(queryInform queryinform){
        String employeeID = queryinform.getEmployeeID();
        String year = queryinform.getYear();
        String month = queryinform.getMonth();
        String SQL2 = "select employee.employeeID,employee.employeeName,salary.careerID,career.careerName,attendance.attendanceStatus as 考勤情况,salaryRP+basicSalary as 工资"+
                " from salary,career,attendance,employee "+
                " where career.careerID=salary.careerID AND attendance.attendanceNum = salary.attendanceNum and employee.employeeID = attendance.employeeID AND "+
                " attendance.attendanceTime= '"+year+"-0"+month+"-01'"+" AND attendance.employeeID in ("+employeeID+")";
        //查询语句的申明:成效好不好,试了才知道!!好好好!非常好,谁用谁知道!
        String []tableHead;
        String [][]content;
        JTable table;
        JFrame win = new JFrame();
        Query findRecord = new Query();
        findRecord.setDatabaseName("企业人事档案管理");findRecord.setId("root");findRecord.setPwd("123456");
        findRecord.setSQL(SQL2);              //检测代码
        //System.out.println(SQL2);
        content = findRecord.getRecord();
        tableHead = findRecord.getColumnName();
        table = new JTable(content,tableHead);
        win.add(new JScrollPane(table));
        win.setTitle("企业人事档案管理");
        win.setBounds(200,100,400,300);
        win.setVisible(true);//win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        return queryinform;
    }
}
HandleUpdateUserInform部分:
package enterprisePersonnelFileManagementSystem;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import javax.swing.JOptionPane;
public class HandleUpdateUserInform {
    Connection con,con2;
    Statement sql;
    PreparedStatement preSql;
    ResultSet rs;
    public  HandleUpdateUserInform(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
        }
        catch(SQLException e){}
    }
    public UpdateUser UpdateUserInformModel(UpdateUser updateUser){
        String sqlStr1 ="update employee set user = ";//这里更新employ表的用户账号和密码,同时要联动更新user表的用户账号和密码
        String sqlStr2 ="update employee set pwd = ";//
        String sqlStr3 ="update user set userID = " ;
        String sqlStr4 ="update user set pwd = " ;
        int ok = 0,ok3 = 0,ok4 = 0;
        String employeeID = updateUser.getEmployeeID();
        String id = updateUser.getID();
        String pwd = updateUser.getPassword();
        sqlStr1 = sqlStr1+id+" where employeeID = "+employeeID;
        sqlStr2 = sqlStr2+pwd+" where employeeID = "+employeeID;
        sqlStr3 = sqlStr3+id+" where userID = "+employeeID;
        sqlStr4 = sqlStr4+id+" where pwd = "+employeeID;
        try{
            sql = con.createStatement();
            sql.executeUpdate(sqlStr1);
            ok=sql.executeUpdate(sqlStr2);
            ok3 = sql.executeUpdate(sqlStr3);
            ok4 = sql.executeUpdate(sqlStr4);
            con.close();//这里我不清楚con要不要close!!!!!注意啊
        }
        catch(SQLException e) {
            JOptionPane.showMessageDialog(null,"员工信息修改错误!","警告", JOptionPane.WARNING_MESSAGE);
        }
        if(ok!=0&&ok3!=0&&ok4!=0) {
            JOptionPane.showMessageDialog(null,"员工信息修改成功!", "员工信息更新",JOptionPane.WARNING_MESSAGE);
        }
        else{
            JOptionPane.showMessageDialog(null,"测试点2!员工信息修改错误!","警告", JOptionPane.WARNING_MESSAGE);
        }
        return updateUser;
    }
}

HandleUpdateUserJob部分:
package enterprisePersonnelFileManagementSystem;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import javax.swing.JOptionPane;
public class HandleUpdateUserJob {
    Connection con,con2;
    Statement sql;
    PreparedStatement preSql;
    ResultSet rs;
    String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
    public HandleUpdateUserJob(){
        try{  Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e){}
        //String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true";
        try{
            con = DriverManager.getConnection(uri,"root","123456"); //连接代码 源代码
        }
        catch(SQLException e){}
    }
    public UpdateUser UpdateUserJobModel(UpdateUser updateUser){
        //String sqlStr1 ="update employee set careerID = ";
        String sqlStr2 ="update employee set careerID = ";
        String sqlStr3 ="insert into caserecord values(?,?,'调职',?,?)";
        int ok = 0,p = 0;
        String serialNum = updateUser.getSerialNum();
        String careerID = updateUser.getCareerID();
        String employeeID = updateUser.getEmployeeID();
        String changeTime = updateUser.getChangeTime();
        sqlStr2 = sqlStr2+careerID+" where employeeID = "+employeeID;

        try{
            sql = con.createStatement();
            ok = sql.executeUpdate(sqlStr2);
//            if(ok>0){
//                updateUser.setisUpdate(true);
//                JOptionPane.showMessageDialog(null,"修改员成功", "修改员工职位",JOptionPane.WARNING_MESSAGE);
//            }
//            else{
//                updateUser.setisUpdate(false);
//                JOptionPane.showMessageDialog(null,"修改失败,请查询是否有此用户!", "修改员工职位",JOptionPane.WARNING_MESSAGE);
//            }
            con.close();
        }
        catch(SQLException e) {
            JOptionPane.showMessageDialog(null,"职位信息修改错误!","警告", JOptionPane.WARNING_MESSAGE);
        }
        if(ok!=0) {
            JOptionPane.showMessageDialog(null,"职位信息修改成功!", "员工信息更新",JOptionPane.WARNING_MESSAGE);
        }
        try{
            con2 = DriverManager.getConnection(uri,"root","123456");
            preSql = con2.prepareStatement(sqlStr3);
            preSql.setString(1,serialNum);
            preSql.setString(2,employeeID);
            preSql.setString(3,careerID);
            preSql.setString(4,changeTime);
            p = preSql.executeUpdate();
            con2.close();
        }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null,"档案记录更新失败!", "档案记录",JOptionPane.WARNING_MESSAGE);
        }
        if(p!=0){
            JOptionPane.showMessageDialog(null,"档案记录更新成功!", "档案记录",JOptionPane.WARNING_MESSAGE);
        }
        return updateUser;
    }
}
Login部分:
package enterprisePersonnelFileManagementSystem;

public class Login {
    boolean loginSuccess = false;
    String id;
    String password;
    public void setID(String id){
        this.id = id;
    }
    public void setPassword(String password){
        this.password = password;
    }
    public String getID() {
        return id;
    }
    public String getPassword(){
        return password;
    }
    public void setLoginSuccess(boolean bo){
        loginSuccess = bo;
    }
    public boolean getLoginSuccess(){
        return loginSuccess;
    }
}
LoginView部分:
package enterprisePersonnelFileManagementSystem;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class LoginView extends JPanel implements ActionListener {
    Login login;
    JTextField inputID;
    JPasswordField inputPassword;
    JButton buttonLogin;
    boolean loginSuccess;
    LoginView() {
        login = new Login();
        inputID = new JTextField(12);
        inputPassword = new JPasswordField(12);
        buttonLogin = new JButton("登录");
        add(new JLabel("ID:"));
        add(inputID);
        add(new JLabel("密码:"));
        add(inputPassword);
        add(buttonLogin);
        buttonLogin.addActionListener(this);
    }
    public boolean isLoginSuccess() {
        return loginSuccess;
    }
    public void actionPerformed(ActionEvent e) {
        login.setID(inputID.getText());
        char [] pw =inputPassword.getPassword();
        login.setPassword(new String(pw));
        HandleLogin handleLogin = new HandleLogin();
        login = handleLogin.queryVerify(login);
        loginSuccess = login.getLoginSuccess();
    }
}
PersonalInform部分
package enterprisePersonnelFileManagementSystem;

public class PersonalInform {
    String employeeID,phoneNum,address,maritalStatus,ethnicType,politicsStatus,degreeOfEdu,major,sex;
    boolean isPersonalInformC = false;
    public void setEmployeeID(String employeeID){this .employeeID = employeeID;}
    public void setPhoneNum(String phoneNum){this.phoneNum = phoneNum;}
    public void setAddress(String address){this.address = address;}
    public void setMaritalStatus(String maritalStatus){this.maritalStatus = maritalStatus;}
    public void setEthnicType(String ethnicType){this.ethnicType = ethnicType;}
    public void setPoliticsStatus(String politicsStatus){this.politicsStatus = politicsStatus;}
    public void setDegreeOfEdu(String degreeOfEdu){this.degreeOfEdu = degreeOfEdu;}
    public void setMajor(String major){this.major = major;}
    public void setSex(String sex){this.sex = sex;}

    public String getEmployeeID(){return employeeID;}
    public String getPhoneNum() {return phoneNum;}
    public String getAddress() {return address;}
    public String getMaritalStatus() {return maritalStatus;}
    public String getEthnicType() {return ethnicType;}
    public String getPoliticsStatus() {return politicsStatus;}
    public String getDegreeOfEdu() {return degreeOfEdu;}
    public String getMajor() {return major;}
    public String getSex(){return sex;}

    public void setPersonalInformC(boolean isPersonalInformC){this.isPersonalInformC = isPersonalInformC;}
    public boolean getPersonalInformC(){return isPersonalInformC;}
}
PersonalInformView部分:
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.event.*;
public class PersonalInformView extends JPanel implements ActionListener,ItemListener{
    PersonalInform personalInform;
    JTextField employeeID,phoneNum,address,ethnicType,major;
    JComboBox<String>politicalStatus;//政治面貌
    JComboBox<String>degreeOfEdu;//学历情况
    JRadioButton male,female,married,unmarried;//性别,婚姻状况
    String PS,DOG;
    String sex,marryStatus;
    ButtonGroup group1,group2;
    JButton buttonUp;
    boolean isPersonalInformC = false;
    PersonalInformView(){
        personalInform = new PersonalInform();
        employeeID = new JTextField(8);
        phoneNum = new JTextField(8);
        address = new JTextField(8);
        ethnicType = new JTextField(8);
        major = new JTextField(8);
        buttonUp = new JButton("确认更改");
        add(new JLabel("员工编号:"));add(employeeID);
        add(new JLabel("电话:"));add(phoneNum);
        add(new JLabel("住址:"));add(address);
        add(new JLabel("民族:"));add(ethnicType);
        add(new JLabel("专业:"));add(major);

        politicalStatus = new JComboBox<String>();
        add(new JLabel("政治面貌:"));
        politicalStatus.addItem("请点击选择");
        politicalStatus.addItem("群众");
        politicalStatus.addItem("共青团员");
        politicalStatus.addItem("党员");
        add(politicalStatus);
        //add((Component) itemListener1);                                   //注意这个地方出错的可能!!
        politicalStatus.addItemListener(itemListener1);
        degreeOfEdu = new JComboBox<String>();
        add(new JLabel("学历:"));
        degreeOfEdu.addItem("请点击选择");
        degreeOfEdu.addItem("本科生");
        degreeOfEdu.addItem("研究生");
        degreeOfEdu.addItem("博士生");
        add(degreeOfEdu);
        //add((Component) itemListener2);                                   //注意这个地方出错的可能!!
        degreeOfEdu.addItemListener(itemListener2);
        group1 = new ButtonGroup();male = new JRadioButton("男");female = new JRadioButton("女");
        group1.add(male);group1.add(female);
        group2 = new ButtonGroup();married = new JRadioButton("已婚");unmarried = new JRadioButton("未婚");
        group2.add(married);group2.add(unmarried);
        male.addItemListener(this);female.addItemListener(this);
        married.addItemListener(this);unmarried.addItemListener(this);
        add(male);add(female);add(married);add(unmarried);
        add(buttonUp);
        buttonUp.addActionListener(this);
    }
    public void itemStateChanged(ItemEvent e){
        if(e.getSource()==male){sex = "男";}
        else if(e.getSource()==female){sex = "女";}
        else if(e.getSource()==married){marryStatus="已婚";}
        else if(e.getSource()==unmarried){marryStatus="未婚";}
        else{JOptionPane.showMessageDialog(null,"单选选择错误!","错误提示", JOptionPane.WARNING_MESSAGE);}
    }
    ItemListener itemListener1 = new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            if(e.SELECTED == e.getStateChange()){
                PS = e.getItem().toString();
            }
        }
    };
    ItemListener itemListener2 = new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            if(e.SELECTED == e.getStateChange()){
                DOG = e.getItem().toString();
            }
        }
    };
    public void actionPerformed(ActionEvent e){
        personalInform.setEmployeeID(employeeID.getText());
        personalInform.setPhoneNum(phoneNum.getText());
        personalInform.setSex(sex);
        personalInform.setAddress(address.getText());
        personalInform.setEthnicType(ethnicType.getText());
        personalInform.setMaritalStatus(marryStatus);
        //加政治面貌和学位
        personalInform.setPoliticsStatus(PS);
        personalInform.setDegreeOfEdu(DOG);
        personalInform.setMajor(major.getText());
        HandlePersonalInform  handlePersonalInform = new HandlePersonalInform();
        handlePersonalInform.PersonalInformModel(personalInform);
        isPersonalInformC = personalInform.getPersonalInformC();
    }
}
Query部分:
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.sql.*;
public class Query {
    String databaseName="";    	//数据库名
    String id = "";//用户名
    String pwd = "";//密码
    String SQL;        		    //SQL语句
    String [] columnName;       //全部字段(列)名
    String [][] record;         //查询到的记录
    public Query() {
        try{  Class.forName("com.mysql.jdbc.Driver");//加载JDBC-MySQL驱动
        }
        catch(Exception e){}
    }
    public void setDatabaseName(String s) {
        databaseName=s.trim();
    }
    public void setId(String id){
        this.id = id;
    }
    public void setPwd(String pwd){
        this.pwd = pwd;
    }
    public void setSQL(String SQL) {
        this.SQL=SQL.trim();
    }
    public String[] getColumnName() {
        if(columnName ==null ){
            System.out.println("先查询记录");
            return null;
        }
        return columnName;
    }
    public String[][] getRecord() {
        startQuery();
        return record;
    }
    private void startQuery() {
        Connection con;
        Statement sql;
        ResultSet rs;
        String uri = "jdbc:mysql://localhost:3306/企业人事档案管理?useSSL=true&characterEncoding=utf-8";
        try {
            con=DriverManager.getConnection(uri,"root","123456");
            sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            rs=sql.executeQuery(SQL);
            ResultSetMetaData metaData = rs.getMetaData();
            int columnCount = metaData.getColumnCount();//字段数目
            columnName=new String[columnCount];
            for(int i=1;i<=columnCount;i++){
                columnName[i-1]=metaData.getColumnName(i);
            }
            rs.last();
            int recordAmount =rs.getRow();  //结果集中的记录数目
            record = new String[recordAmount][columnCount];
            int i=0;
            rs.beforeFirst();
            while(rs.next()) {
                for(int j=1;j<=columnCount;j++){
                    record[i][j-1]=rs.getString(j); //第i条记录,放入二维数组的第i行
                }
                i++;
            }
            con.close();
        }
        catch(SQLException e) {
            JOptionPane.showMessageDialog(null,"请重新输入!","警告", JOptionPane.WARNING_MESSAGE);
            //System.out.println("请输入正确的表名"+e);
        }
    }
}
queryInform部分:
package enterprisePersonnelFileManagementSystem;

public class queryInform {
    String employeeID,year,month;
    //这里我没抄”PersonalInform“的boolean isPersonalInformC = false; 如果错了就加上试试
    public void setEmployeeID(String employeeID){this.employeeID = employeeID;}
    public void setYear(String year){this.year = year;}
    public void setMonth(String month){this.month = month;}

    public String getEmployeeID() {return employeeID;}
    public String getYear() {return year;}
    public String getMonth() {return month;}
}
Register部分:
package enterprisePersonnelFileManagementSystem;

public class Register {
    String id;
    String password;
    String identity;
    public void setID(String id){
        this.id = id;
    }
    public void setPassword(String password){
        this.password = password;
    }
    public void setIdentity(String identity) {this.identity = identity;}

    public String getID() {
        return id;
    }
    public String getPassword(){
        return password;
    }
    public String getIdentity() {return identity;}
}
RegisterAndLoginView部分:
package enterprisePersonnelFileManagementSystem;

import javax.swing.*;
import java.awt.*;
public class RegisterAndLoginView extends JPanel{
    JTabbedPane p;
    RegisterView registerView;
    LoginView loginView;
    public RegisterAndLoginView(){
        registerView=new RegisterView();
        loginView = new LoginView();
        setLayout(new BorderLayout());
        p = new JTabbedPane();
        p.add("我要注册",registerView);
        p.add("我要登录",loginView);
        p.validate();
        add(p,BorderLayout.CENTER);
    }
    public boolean isLoginSuccess() {
        return loginView.isLoginSuccess();
    }
}
RegisterView部分:
package enterprisePersonnelFileManagementSystem;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class RegisterView extends JPanel implements ActionListener,ItemListener {
    Register register;
    JTextField inputID;//,inputBirth;
    JTextField test;//测试点击单选按钮会不会出现输入框!
    JRadioButton admini,employee;
    JPasswordField inputPassword;
    ButtonGroup group;
    JButton buttonRegister;
    String identity;
    RegisterView() {
        register = new Register();
        inputID = new JTextField(12);
        inputPassword = new JPasswordField(12);
//        inputBirth = new JTextField(12);
        buttonRegister = new JButton("注册");
        add(new JLabel("ID:"));
        add(inputID);
        add(new JLabel("密码:"));
        add(inputPassword);
        group = new ButtonGroup();
        admini = new JRadioButton("管理员");
        employee = new JRadioButton("员工");
        group.add(admini);
        group.add(employee);
        admini.addItemListener(this);
        employee.addItemListener(this);
        add(admini);
        add(employee);
        add(buttonRegister);
        buttonRegister.addActionListener(this);

    }
    public void itemStateChanged(ItemEvent e) {
        if(e.getSource()==admini){identity = "管理员";}
        else{identity = "员工";}
    }
    public void actionPerformed(ActionEvent e) {
        register.setID(inputID.getText());
        char [] pw =inputPassword.getPassword();
        register.setPassword(new String(pw));
        register.setIdentity(identity);
        HandleInsertData handleRegister = new HandleInsertData();
        handleRegister.writeRegisterModel(register);
    }
}
SalaryQView部分:
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.event.*;
public class SalaryQView extends JPanel implements ActionListener{
    queryInform queryinform;
    JTextField employeeID,year,month;
    JButton buttonQ;
    SalaryQView(){
        queryinform = new queryInform();
        employeeID = new JTextField(12);
        year = new JTextField(12);
        month = new JTextField(12);
        buttonQ = new JButton("确认查询");
        add(new JLabel("查询账号:"));
        add(employeeID);
        add(new JLabel("查询年份:"));
        add(year);
        add(new JLabel("查询月份:"));
        add(month);
        add(buttonQ);
        buttonQ.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e){
        queryinform.setEmployeeID(employeeID.getText());
        queryinform.setYear(year.getText());
        queryinform.setMonth(month.getText());
        HandleSalaryQ handleSalaryQ = new HandleSalaryQ();
        queryinform = handleSalaryQ.SalaryQModel(queryinform);
    }
}
UpdateInformView部分:
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.event.*;
public class UpdateInformView  extends JPanel implements ActionListener{
    UpdateUser updateUser;
    JTextField user,pwd,changeTime,employeeID;
    JButton buttonUp;
    boolean isUpdate = false;
    UpdateInformView(){
        updateUser = new UpdateUser();
        employeeID = new JTextField(12);
        user = new JTextField(12);
        pwd  = new JTextField(12);
        changeTime = new JTextField(12);
        buttonUp = new JButton("确认更新");
        add(new JLabel("更改前的账号"));
        add(employeeID);
        //add(user);//由账号出发
        add(new JLabel("更改后的账号:"));
        add(user);
        add(new JLabel("更改后的密码:"));
        add(pwd);
        add(new JLabel("更改时间:"));
        add(changeTime);
        add(buttonUp);
        buttonUp.addActionListener(this);
    }

    public boolean isUpdate() {return isUpdate;}
    public void actionPerformed(ActionEvent e){
        updateUser.setEmployeeID(employeeID.getText());
        updateUser.setID(user.getText());
        updateUser.setPassword(pwd.getText());
        updateUser.setChangeTime(changeTime.getText());
        HandleUpdateUserInform handleUpdateUserInform = new HandleUpdateUserInform();
        updateUser = handleUpdateUserInform.UpdateUserInformModel(updateUser);
        isUpdate = updateUser.getisUpdate();
    }
}
UpdateJobView部分
package enterprisePersonnelFileManagementSystem;
import javax.swing.*;
import java.awt.event.*;

public class UpdateJobView extends JPanel implements ActionListener{
    UpdateUser updateUser;
    JTextField careerID,changeTime,employeeID;
    JButton buttonUp;
    boolean isUpdate = false;
    UpdateJobView(){
        updateUser = new UpdateUser();
        employeeID = new JTextField(12);
        careerID = new JTextField(12);
        changeTime = new JTextField(12);
        buttonUp = new JButton("确认职位更改");
        add(new JLabel("更改员工编号:"));
        add(employeeID);
        add(new JLabel("更改职位编号:"));
        add(careerID);
        add(new JLabel("更改时间:"));
        add(changeTime);
        add(buttonUp);
        buttonUp.addActionListener(this);
    }
    public boolean isUpdate() {return isUpdate;}
    public void actionPerformed(ActionEvent e){
        updateUser.setEmployeeID(employeeID.getText());
        updateUser.setCareerID(careerID.getText());
        updateUser.setChangeTime(changeTime.getText());
        HandleUpdateUserJob handleUpdateUserJob = new HandleUpdateUserJob();
        updateUser = handleUpdateUserJob.UpdateUserJobModel(updateUser);
        isUpdate = updateUser.getisUpdate();
    }
}
UpdateUser部分:
package enterprisePersonnelFileManagementSystem;

public class UpdateUser {//修改员工账号信息!隶属于管理员-修改员工信息模块
    String id,password,employeeID,changeTime,careerID,serialNum;
    String phoneNum,address,maritalStatus,ethnicType,politicsStatus,degreeOfEdu,major,sex;
    boolean isUpdate = false;
    public void setSerialNum(String serialNum){this.serialNum = serialNum;}
    public void setID(String id){
        this.id = id;
    }
    public void setPassword(String password){
        this.password = password;
    }
    public void setEmployeeID(String employeeID){this.employeeID = employeeID;}
    public void setCareerID(String careerID){this.careerID = careerID;}
    public void setChangeTime(String changeTime){this.changeTime = changeTime;}
    public void setPhoneNum(String phoneNum){this.phoneNum = phoneNum;}
    public void setAddress(String address){this.address = address;}
    public void setMaritalStatus(String maritalStatus){this.maritalStatus = maritalStatus;}
    public void setEthnicType(String ethnicType){this.ethnicType = ethnicType;}
    public void setPoliticsStatus(String politicsStatus){this.politicsStatus = politicsStatus;}
    public void setDegreeOfEdu(String degreeOfEdu){this.degreeOfEdu = degreeOfEdu;}
    public void setMajor(String major){this.major = major;}
    public void setSex(String sex){this.sex = sex;}


    public String getSerialNum(){return serialNum;}
    public String getID() {
        return id;
    }
    public String getPassword(){return password;}
    public String getEmployeeID() {return employeeID;}
    public String getCareerID() {return careerID;}
    public String getChangeTime() {return changeTime;}
    public String getPhoneNum() {return phoneNum;}
    public String getAddress() {return address;}
    public String getMaritalStatus() {return maritalStatus;}
    public String getEthnicType() {return ethnicType;}
    public String getPoliticsStatus() {return politicsStatus;}
    public String getDegreeOfEdu() {return degreeOfEdu;}
    public String getMajor() {return major;}
    public String getSex(){return sex;}

    public void setisUpdate(boolean update) {isUpdate = update;}
    public boolean getisUpdate() {return isUpdate;}
}

至此完毕,在此次数据库课设中我收获颇丰,其次对java的语句也熟悉了许多,希望各位学弟学妹们看完我这篇文章,能够有所收获,并依靠自己的思维建立出自己的数据库,在搭建的过程中不断锻炼自己,而不是简单的完成任务。如果存在错误的地方还请批评指正,十分感谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

献给塔奇克马的花束❀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值