欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    java课程设计-----职工工资管理系统.docx

    • 资源ID:1894078       资源大小:285.63KB        全文页数:57页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java课程设计-----职工工资管理系统.docx

    苏州科技学院电子信息实验中心面向对象技术课程设计报告职工工资管理系统专业年级计算机科学与技术2014班级计算机1422学号1430107225姓名宋正伟成绩指导教师张宗杰 2016 年 4月一 引言1.1 项目的名称职工工资信息管理系统1.2 项目背景和目标职工工资信息管理系统主要能够对职工个人信息进行管理,对职工用户提供个人信息查询,工资查询等,对管理用户提供增加,修改,删除员工信息等操作。我们的目标就是为该系统提供后台连接数据库程序设计以及前台用户界面设计。1.3 项目的可行性研究设计此系统需要Java面向对象编程基础,数据库应用知识以及功能分析。根据目前所开设的课程,学生已经具备了这样的知识,有能力综合Java编程知识和数据库应用知识做出一个这样的职工工资信息管理系统。二需求分析2.1 系统概述此系统提供给公司职工和管理者使用,职工登陆后可以对自己的信息进行查询,管理者登陆后可以对职工的信息进行修改,增加,删除等操作。2.2 系统运行环境Java程序运行在eclipse软件上编译并且运行,数据库用MYSQL数据库三 系统设计3.1 开发与设计的总体思想 职工方面:职工可以通过自己的职工号和密码登陆后,进入职工主界面,在这个主界面里,职工可以进行信息查询操作。 管理员方面:管理员通过自己的密码登陆后可以选择:查询功能,修改功能。在查询功能里,可以选择查询职工个人信息或者工资情况。在修改功能里,可以选择对职工的信息进行增加,删除和修改操作。3.2 系统模块结构图职工工资管理系统管理员登陆职工登陆管理员操作页面职工个人信息查询修改职工工资信息职工基本信息修改工资信息修改职工基本信息删除辞职者信息添加新人信息3.3 数据库结构设计为了支持此职工档案管理系统,创建数据库employeemanage,在这个数据库里包含三个表:worker表,manager表,employee表,它们的截图如下:在worker表中,有八个属性列,分别为:id(职工号),wname(姓名),age(年龄),sex(性别),number(电话),salary(工资),dept(部门)。其基本数据类型分别为:char,char,int,char,char,int,char.在manager表中,有两个属性列,分别为:mname(管理员姓名),password(密码)其基本数据类型分别为:char,char。当管理员登录系统时从此表获取数据,其截图如下:在employee表中,有两个属性列,分别为:wname(职工姓名),password(密码)其基本数据类型分别为:char,char。当教职工登录系统时从此表获取数据,其截图如下:3.4 模块设计在整个系统主界面,可以选择登录方式,是职工登录还是管理员登录。如果选择职工,则进入职工登录界面,在这个界面上要求输入职工姓名和密码。输入后单击“确认登录”按钮,若密码正确,则转换到职工工资信息查询页面,当输入职工姓名后即可显示该名职工的个人信息,若密码不正确,这提示密码错误。如果选择是管理员登录,则进入管理员登陆界面,在这个界面上输入管理员姓名和密码,输入后单击“职工信息管理”按钮,则进入管理员主界面。在管理员主界面可以选择进行文件操作,查询操作还是修改操作。若要查询职工信息,点击查询菜单项则进入职工信息检索界面,在此界面的检索方式中选择要检索的数据属性,在检索内容框中输入检索的具体信息,例如,检索“姓名”字段时,要键入某个职工的姓名。输入后,单击“检索”按钮,则开始对数据库中数据进行查询。如果数据库检索到所需信息,则生成列表显示检索结构,如果没有所需信息,则页面列表中显示为空。若要查询职工工资信息,则点击职工工资信息查询菜单项,进入工资查询界面。在此界面的文本框中输入要查询工资信息的职工姓名,然后单击检索按钮。若数据库中有该职工的工资信息,则生成列表显示工资信息,若没有此记录,则列表显示内容为空。如果管理员要对数据库中进行修改操作,则在管理员主界面上选择修改菜单项,在此项中,选择要修改的具体内容,总共有四项修改操作:添加新人信息,删除辞职者信息(这两个是对数据库中worker表的操作)。在添加信息操作中,按照标签提示一次输入要添加的记录值,输入完毕后,单击“添加”按钮,若输入成功,则提示成功,若输入失败,则提示失败。在删除信息操作中,输入要删除信息的职工姓名,单击“删除”按钮,若删除成功,则提示成功,若删除失败则提示失败。以上就是该职工工资管理系统涉及的操作步骤。3.5 系统流程描述登陆主界面开始职工登陆管理员登陆输入有误成功成功输入有误帮助No选择帮助工资信息管理信息查询职工信息修改职工信息查询删除辞职者信息退出系统添加新职工信息删除职工信息添加职工信息职工信息简介退出职工工资信息输入职工姓名选择检索方式和数据成功成功 输入辞职者姓名输入删除者姓名录入添加信息录入添加信息显示职工工资信息 Yes显示信息成功成功成功成功无输出输入有误InsertSuccessInsertSuccessDeleteSuccessDeleteSuccess四、系统实现DBconnection类本系统保存在employeemanage包里其中包含四个包:connection包,dao包,model包,ui包1. connection包中的类:(1)DBconnection类:此类设置程序与数据库的连接,通过设置驱动类型和数据源来确定要连接的数据库。若连接成功,提示:connection success,若连接失败,提示:connection failureDBconnection类源代码:package connection;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBconnection public static void main(String args) new DBconnection();public static Connection con=null;public static Connection getConnection()try String dbDriver="com.mysql.jdbc.Driver"Class.forName(dbDriver);System.out.println("Driver Suceess"); catch (ClassNotFoundException e) System.out.println("Driver not found");e.printStackTrace();try con=DriverManager.getConnection("jdbc:mysql:/localhost:3306/employeemanage","root","0703112418");System.out.println("Connection Suceess"); catch (SQLException e) System.out.println("Connetion failure");e.printStackTrace();return con;public static void closeConnection()if(con!=null)try con.close();System.out.println("database close success"); catch (SQLException e) System.out.println("close failure");e.printStackTrace();2. Dao包中的类:(1)WorkerDao类:此类中有四个方法,managerLogin,addWorker,deleteWorker, queryworker,作用分别是控制管理员登陆系统,增加职工基本信息,删除职工基本信息,查询职工基本信息。(2)managerLogin()方法中,有两个参数,分别传给select语句中的mname(管理员姓名)和password(登录密码),利用select语句在employee表中检索管理员登录信息。若存在此信息,返回true,否则返回false。(3)addWorker)方法中,有七个参数,分别传给insert语句中的id(职工号),wname(职工姓名),age(年龄),sex(性别),number(电话),salary(工资)和dept(部门),利用insert语句向worker职工信息表中插入记录。若插入成功,返回true,否则返回false。(4)deleteWorker()方法中,有一个参数,传给delete语句中的wname(职工姓名),利用delete语句,把worker表中相关职工信息删除。若删除成功,返回true,否则返回false。(5)queryWorker()方法中,有两个参数,分别传给select语句中的field(查找方式)和key(查找内容),利用select语句,从worker表中检索职工信息。若存在此信息,则返回一个ArrayList类的对象lis(表格),否则,异常处理。WorkerDao类源代码:package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import model.Student;import connection.DBConnection;public class WorkerDao public boolean managerLogin(String mname,String password) DBconnection db=new DBconnection();Connection con=db.getConnection();boolean isfound=false;PreparedStatement pst;try pst = con.prepareStatement("select * from manager where mname=? and password=?");pst.setString(1, mname); pst.setString(2,password);ResultSet rs=pst.executeQuery(); if(rs.next() isfound=true; catch (SQLException e) e.printStackTrace(); System.out.println(isfound); return isfound;public boolean addWorker(String id, String wname, String sex, int age, String number, int salary ,String dept) Connection con = DBconnection.getConnection();PreparedStatement pst;try pst = con.prepareStatement("insert into worker values(?,?,?,?,?,?,?,?)");pst.setString(1, id);pst.setString(2, wname);pst.setString(3, sex);pst.setInt(4, age);pst.setString(5, number);pst.setInt(6, salary);pst.setString(7, dept);int count = pst.executeUpdate(); / 返回修改的记录数if (count = 1)return true;elsereturn false; catch (SQLException e) e.printStackTrace();return false;public ArrayList queryWorker(String field, String key) ArrayList lis = new ArrayList();Connection con = DBconnection.getConnection();Statement stm;try stm = con.createStatement();String sql = "select * from worker where " + field + " like '%"+ key + "%' "System.out.println(sql);ResultSet rs = stm.executeQuery(sql); while (rs.next() Work work= new Work(rs.getString(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getString(5),rs.getString(6),rs.getInt(7);lis.add(work); catch (SQLException e) e.printStackTrace();return lis;public boolean deleteWorker(String key) Connection con = DBconnection.getConnection();Statement stm;try stm = con.createStatement();String sql = "delete from worker where wname like '%"+ key + "%' "System.out.println(sql);int count = stm.executeUpdate(sql);if (count = 1)return true;elsereturn false; catch (SQLException e) e.printStackTrace();return false;(2) EmployeeDao类:此类中有一个方法:queryEmployee(),作用是控制职工登陆,queryEmployee()方法中,有两个参数,分别传给select语句中的wname(职工姓名)和password(登陆密码),利用select语句在employee表中检索职工登陆信息。若存在此信息,返回true,否则返回false。EmployeeDao类源代码:package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import connection.DBConnectionpublic class EmployeeDao public boolean queryEmployee(String wname,String password) DBconnection db=new DBconnection();Connection con=db.getConnection();boolean isfound=false;PreparedStatement pst;try pst = con.prepareStatement("select * from employee where wname=? and password=?");pst.setString(1, wname); pst.setString(2,password);ResultSet rs=pst.executeQuery(); if(rs.next() isfound=true; catch (SQLException e) e.printStackTrace(); System.out.println(isfound); return isfound;public static void main(String args) (3) Salary类:在该类中有四个方法querySalary,addSalary,deleteSalary作用分别是为职工用户提供查询工资信息的功能,为管理者用户提供询职工工资信息,添加工资信息,删除工资信息功能。querySalary()方法中,有一个参数,传给select语句中的wname(职工姓名),利用select语句,查询工资信息表中的内容。若查询成功,则返回一个ArrayList类的对象lis(表格),否则,异常处理。addSalary()方法中,有七个参数,分别传给insert语句中的id(职工号),wname(职工姓名),dept(部门)。利用insert语句,将这些记录写入salary表中。若插入成功返回true,否则返 回false。deleteSalary()方法中,有一个参数,传给delete语句中的wname(职工姓名),利用delete语句,把salary表中相关职工的工资信息删除。若删除成功,返回 true,否则返回false。Salary类源代码:package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import ui.WorkerLoginUI;import model.Salary;import model.Worker;import connection.DBConnection;public class SalaryDao public ArrayList querySalary(String key) ArrayList lis = new ArrayList();Connection con = DBconnection.getConnection();Statement stm;try stm = con.createStatement();String sql = "select * from salary where wname like '%" + key+ "%' "System.out.println(sql);ResultSet rs = stm.executeQuery(sql);while (rs.next() Salary salary = new Salary (rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4),rs.getInt(5),rs.getString(6),rs.getString(7);lis.add(salary); catch (SQLException e) e.printStackTrace();return lis;public ArrayList querySalary(String key) ArrayList lis = new ArrayList();Connection con = DBconnection.getConnection();Statement stm;try stm = con.createStatement();String sql = "select * from salary where wname like '%" + ManagerDD.st1+ "%' "System.out.println(sql);ResultSet rs = stm.executeQuery(sql);while (rs.next() Salary salary = new Salary(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getInt(5),rs.getString(6),rs.getString(7);lis.add(salary); catch (SQLException e) e.printStackTrace();return lis;public boolean addSalary(String id, String wname, String dept) Connection con = DBconnection.getConnection();PreparedStatement pst;try pst = con.prepareStatement("insert into salary values(?,?,?,?,?,?,?)");pst.setString(1, id);pst.setString(2, wname);pst.setInt(3, age);pst.setString(4, sex);pst.setInt(5, number);pst.setInt(6, salary);pst.setString(7, dept);int count = pst.executeUpdate();/ 返回修改的记录数if (count = 1)return true;elsereturn false; catch (SQLException e) e.printStackTrace();return false;public boolean deleteSalary(String key) Connection con = DBconnection.getConnection();Statement stm;try stm = con.createStatement();String sql = "delete from salary where wname like '%" + key + "%' "System.out.println(sql);int count = stm.executeUpdate(sql);if (count = 1)return true;elsereturn false; catch (SQLException e) e.printStackTrace();return false;3. Model包中的类:(1)Worker类:此类中有七个成员变量,String id;String wname;String sex; int age;String number; int salary;String dept,和十四个成员方法,类中分别获取和设置了这七个变量,即为worker表中七个属性的属性名,每个变量都对应了getXXX(),setXXX()方法,还有一个构造方法,用于在调用其对象时对成员变量赋值。Worker类源代码:package Model;public class Worker String id;String wname;String sex;int age;String number;int salary;String dept;public String getID() return id;public void setID(String id) this.id= id;public String getWname() return wname;public void setWname(String wname) this.wname = wname;public String getSex() return sex;public void setSex(String sex) this.sex = sex;public int getAge() return age;public void setAge(int age) this.age = age;public String getNumber() return number;public void setNumber(String number) this.number = number;public int getSalary() return salary;public void setSalary(int salary) this.salary = salary;public String getDept() return dept;public void setDept(String dept) this.dept = dept;public Work(String id, String wname, String sex, int age,String number, int salary,String dept)super();this.id = id;this.wname = wname;this.sex = sex;this.age = age;this.number=number;this.salary=salary;this.dept = dept;(2) Salary类:此类中有七个成员变量,String id;String wname;Int age;String sex;int number;Int salary;String dept,和十四个成员方法,类中分别获取和设置了这七个变量,即为salary表中七个属性的属性名,每个变量都对应了getXXX(),setXXX()方法,还有一个构造方法,用于在调用其对象时对成员变量赋值.Salary类源代码:package model;public class Salary String id;String wname;Int ageString sex;String number;Int salary;String dept;public String getID() return id;public void setID(String id) this.id = id;public String getWname() return wname;public void setWname(String wname) this.wname = wname;public String getSex() return Sex;public void setSex(String sex) this.sex= sex;public int getNumber() return number;public void setNumber(int number) this.number = number;public Int getAge() return age;public void setAge(String age) this.age= age;public Int getSalary() return salary;public void setSalary(String salary) this.salary= salary;public String getDept() return dept;public void setDept(String dept) this.dept = dept;public Salary(String id, String wname, String sex, Int age,String number,Int salary, String dept) super();this.id = id;this.wname = wname;this.sex = sex;this.age= age;this.number=number;this.salary=salary;this.dept=dept;4. Ui包中的类:(1) LoginUI类:此类为登陆界面,在这个界面上,设置有两个按钮,职工按钮,管理员按钮。给这两个按钮注册事件addActionListener,分别在内部类WorkerLoginActionListene和ManageLoginActionListener中的默认方法actionPerformed()中创建WorkerLoginUI类和ManageLoginUI类的对象,即打开职工登陆界面和管理员登录界面,并将原登陆界面关闭。LoginUi类源代码:package ui;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class LoginUI extends JFrameJLabel l1;JButton bt1, bt2;Container cp;public LoginUI() l1 = new JLabel("请选择用户类型");bt1 = new JButton("职工");bt2 = new JButton("管理员");JPanel p1 = new JPanel();p1.setLayout(null);l1.setBounds(150, 150, 120, 40);p1.add(l1);bt1.setBounds(120, 230, 80, 30);p1.add(bt1);bt2.setBounds(220, 230, 80, 30);p1.add(bt2);bt1.addActionListener(new WorkerLoginActionListener();/注册事件bt2.addActionListener(new ManageLoginActionListener();/注册事件cp = getContentPane();this.setBounds(200, 200, p1.getHeight(), p1.getHeight();cp.add(p1);this.s

    注意事项

    本文(java课程设计-----职工工资管理系统.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开