ImageVerifierCode 换一换
格式:DOC , 页数:57 ,大小:292.38KB ,
资源ID:4896226      下载积分:14 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4896226.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(java课程设计-----职工工资管理系统毕业设计论文.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

java课程设计-----职工工资管理系统毕业设计论文.doc

1、苏州科技学院电子信息实验中心 面向对象技术课程设计 报告 --职工工资管理系统 专业年级 计算机科学与技术2014 班 级 学 号 姓 名 成 绩 指导教师 2016 年 4月  一. 引言 1.1 项目的名称 职工工资信息管理系统 1.2 项目背景和目标 职工工资信息管理系统主要能够对职工个人信息进行管理,对职工用户提供个人信息查询,工资查询等,对管理用户提供增加,修改,删除员工信息等操作。我们的目标就是为该系统提供后台连接数据库程序设计以及前台用户界面设计。 1.3 项目的可

2、行性研究 设计此系统需要Java面向对象编程基础,数据库应用知识以及功能分析。根据目前所开设的课程,学生已经具备了这样的知识,有能力综合Java编程知识和数据库应用知识做出一个这样的职工工资信息管理系统。 二.需求分析 2.1 系统概述 此系统提供给公司职工和管理者使用,职工登陆后可以对自己的信息进行查询,管理者登陆后可以对职工的信息进行修改,增加,删除等操作。 2.2 系统运行环境 Java程序运行在eclipse软件上编译并且运行,数据库用MYSQL数据库 三. 系统设计 3.1 开发与设计的总体思想 职工方面:职工可以通过自己的职工号和密码登陆后,进入职工主界面,

3、在这个主界面里,职工可以进行信息查询操作。 管理员方面:管理员通过自己的密码登陆后可以选择:查询功能,修改功能。在查询功能里,可以选择查询职工个人信息或者工资情况。在修改功能里,可以选择对职工的信息进行增加,删除和修改操作。 3.2 系统模块结构图 职工工资管理系统 管理员登陆 职工登陆 管理员操作页面 职工个人信息 查询 修改 职工工资信息 职工基本信息 修改工资信息 修改职工基本信息 删除辞职者信息 添加新人信息 3.3 数据库结构设计 为了支持此职工档案管理系统,创建数据库em

4、ployeemanage,在这个数据库里包含三个表:worker表,manager表,employee表,它们的截图如下: 在worker表中,有八个属性列,分别为:id(职工号),wname(姓名),age(年龄),sex(性别),number(电话),salary(工资),dept(部门)。其基本数据类型分别为:char,char,int,char,char,int,char. 在manager表中,有两个属性列,分别为:mname(管理员姓名),password(密码)其基本数据类型分别为:char,char。当管理员登录系统时从此表获取数据,其截图如下:

5、 在employee表中,有两个属性列,分别为:wname(职工姓名),password(密码)其基本数据类型分别为:char,char。当教职工登录系统时从此表获取数据,其截图如下: 3.4 模块设计 在整个系统主界面,可以选择登录方式,是职工登录还是管理员登录。如果选择职工,则进入职工登录界面,在这个界面上要求输入职工姓名和密码。输入后单击“确认登录”按钮,若密码正确,则转换到职工工资信息查询页面,当输入职工姓名后即可显示该名职工的个人信息,若密码不正确,这提示密码错误。 如果选择是管理员登录,则进入管理员登陆界面,在这个界面上输入管理员姓名和密

6、码,输入后单击“职工信息管理”按钮,则进入管理员主界面。在管理员主界面可以选择进行文件操作,查询操作还是修改操作。 若要查询职工信息,点击查询菜单项则进入职工信息检索界面,在此界面的检索方式中选择要检索的数据属性,在检索内容框中输入检索的具体信息,例如,检索“姓名”字段时,要键入某个职工的姓名。输入后,单击“检索”按钮,则开始对数据库中数据进行查询。如果数据库检索到所需信息,则生成列表显示检索结构,如果没有所需信息,则页面列表中显示为空。 若要查询职工工资信息,则点击职工工资信息查询菜单项,进入工资查询界面。在此界面的文本框中输入要查询工资信息的职工姓名,然后单击检索按钮。若数据库中有该职

7、工的工资信息,则生成列表显示工资信息,若没有此记录,则列表显示内容为空。 如果管理员要对数据库中进行修改操作,则在管理员主界面上选择修改菜单项,在此项中,选择要修改的具体内容,总共有四项修改操作:添加新人信息,删除辞职者信息(这两个是对数据库中worker表的操作)。在添加信息操作中,按照标签提示一次输入要添加的记录值,输入完毕后,单击“添加”按钮,若输入成功,则提示成功,若输入失败,则提示失败。在删除信息操作中,输入要删除信息的职工姓名,单击“删除”按钮,若删除成功,则提示成功,若删除失败则提示失败。 以上就是该职工工资管理系统涉及的操作步骤。 3.5 系统流程描述

8、 登陆主界面 开始 职工登陆 管理员登陆 输入有误 成功 成功 输入有误 帮助 No 选择帮助 工资信息管理 信息查询 职工信息修改 职工信息查询 删除辞职者信息 退出系统 添加新职工信息 删除职工信息 添加职工信息 职工信息简介 退出 职工工资信息 输入职工姓名 选择检索方式和数据 成功 成功 输入辞职者姓名 输入删除者姓名 录入添加信息 录入添加信息 显示职工工资信息 Yes 显示信息 成功 成功 成功 成功 无输出 输入

9、有误 Insert Success Insert Success Delete Success Delete Success 四、系统实现DBconnection类 本系统保存在employeemanage包里 其中包含四个包:connection包,dao包,model包,ui包 1. connection包中的类: (1)DBconnection类:此类设置程序与数据库的连接,通过设置驱动类型和数据源来确定要连接的数据库。若连接成功,提示:connection success,若连接失败,提示:connection failur

10、e DBconnection类源代码: 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 getC

11、onnection() { 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:3

12、306/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("data

13、base close success"); } catch (SQLException e) { System.out.println("close failure"); e.printStackTrace(); } } } 2. Dao包中的类: (1)WorkerDao类:此类中有四个方法,managerLogin,addWorker,deleteWorker, queryworker,作用分别是控制管理员登陆系统,增加职工基本信息,删除职工基本信息,查询职工基本信息。 (2)managerLogin()方法中,有两个参数,分别传给select语句中的mname(

14、管理员姓名)和password(登录密码),利用select语句在employee表中检索管理员登录信息。若存在此信息,返回true,否则返回false。 (3)addWorker)方法中,有七个参数,分别传给insert语句中的id(职工号),wname(职工姓名),age(年龄),sex(性别),number(电话),salary(工资)和dept(部门),利用insert语句向worker职工信息表中插入记录。若插入成功,返回true,否则返回false。 (4)deleteWorker()方法中,有一个参数,传给delete语句中的wname(职工姓名),利用delete语句,把w

15、orker表中相关职工信息删除。若删除成功,返回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; im

16、port 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.getCo

17、nnection(); 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=tr

18、ue; } 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.getConnect

19、ion(); 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.se

20、tString(7, dept); int count = pst.executeUpdate(); // 返回修改的记录数 if (count == 1) return true; else return false; } catch (SQLException e) { e.printStackTrace(); } return false; } public ArrayList queryWorker(String field, String key) { ArrayList lis = n

21、ew 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

22、 (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

23、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

24、true; else return false; } catch (SQLException e) { e.printStackTrace(); } return false; } } (2) EmployeeDao类:此类中有一个方法:queryEmployee(),作用是控制职工登陆,queryEmployee()方法中,有两个参数,分别传给select语句中的wname(职工姓名)和password(登陆密码),利用select语句在employee表中检索职工登陆信息。若存在此信息,返回true,否则返回false。 Emp

25、loyeeDao类源代码: package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import connection.DBConnection public class EmployeeDao { public boolean queryEmployee(String wname,String password)

26、 { 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); Resul

27、tSet 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,

28、deleteSalary 作用分别是为职工用户提供查询工资信息的功能,为管理者用户提供 询职工工资信息,添加工资信息,删除工资信息功能。 querySalary()方法中,有一个参数,传给select语句中的wname(职工姓名),利用select语句,查询工资信息表中的内容。若查询成功,则返回一个ArrayList类的对象lis(表格),否则,异常处理。 addSalary()方法中,有七个参数,分别传给insert语句中的id(职工号),wname(职工姓名),dept(部门)。利用insert语句,将这些记录写入salary表中。若插入成功返回true,否则返 回false。

29、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

30、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; tr

31、y { 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),

32、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.getConnecti

33、on(); 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.getStri

34、ng(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) { Connecti

35、on 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,

36、 salary); pst.setString(7, dept); int count = pst.executeUpdate();// 返回修改的记录数 if (count == 1) return true; else return false; } catch (SQLException e) { e.printStackTrace(); } return false; } public boolean deleteSalary(String key) { Connection con =

37、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; else return false;

38、 } 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()方法,还有一个构造方法,用于在调用其对象时对成

39、员变量赋值。 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

40、 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 S

41、tring 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 s

42、etDept(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 =

43、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

44、age String 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(

45、) { 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; }

46、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 numb

47、er,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,分别在内部类Worker

48、LoginActionListene和ManageLoginActionListener中的默认方法actionPerformed()中创建WorkerLoginUI类和ManageLoginUI类的对象,即打开职工登陆界面和管理员登录界面,并将原登陆界面关闭。 LoginUi类源代码: package ui; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LoginUI extends JFrame{ JLabel l1; JButton bt1, bt2;

49、 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(

50、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.setTitle("用户登录界面"); th

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服