本人大二下学期学习数据库和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的语句也熟悉了许多,希望各位学弟学妹们看完我这篇文章,能够有所收获,并依靠自己的思维建立出自己的数据库,在搭建的过程中不断锻炼自己,而不是简单的完成任务。如果存在错误的地方还请批评指正,十分感谢