怎么用java+sql数据库做一个工资管理系统?

怎么用java+sql数据库做一个工资管理系统?,第1张

第一章 需求分析

1.1 功能要求

1.1.1 功能概况

本次设计要求运用面向对象设计知识,利用 JAVA 语言设计实现一个“小型公司工资管理系统”。

1.1.2 存储功能

能够存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。 其中,雇员级别分为经理、技术人员、销售人员和销售经理。四类人员的月薪计算方法如下:经理拿固定月薪;技术人员按小时领取月薪;销售人员按其当月销售额的提成领取工资;销售经理既拿固定月薪也领取销售提成。由此要求,该项目需要利用数据库的关系表存储数据。

1.1.3 添加功能

程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。需要利用 Java 语言连接数据库,使用数据库添加语句。

1.1.4 查询功能

可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。利用 Java Swing 控件进行展示。

1.1.5 编辑功能

可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

1.1.6 删除功能

主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录, 则提示“记录为空!”并返回 *** 作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。

1.1.7 统计功能

能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计平均工资、最高工资、最低工资等信息。利用数据库语句完成统计。

1.1.8 界面功能

利用 java 的 GUI 功能设计系统的图形用户界面,要求界面美观,易用。

Student 类

public class Student

{

private int id

private int age

private int score

private String name

public Student()

{

}

public Student(int id, int age, int score, String name)

{

this.id = id

this.age = age

this.score = score

this.name = name

}

public int getId()

{

return id

}

public void setId(int id)

{

this.id = id

}

public int getAge()

{

return age

}

public void setAge(int age)

{

this.age = age

}

public int getScore()

{

return score

}

public void setScore(int score)

{

this.score = score

}

public String getName()

{

return name

}

public void setName(String name)

{

this.name = name

}

@Override

public String toString()

{

return "学号:" + id + " 姓名:" + name + " 年龄:" + age + " 成绩:" + score

}

}

Manager类

import java.util.ArrayList

import java.util.Iterator

import java.util.List

public class Manager

{

private List<Student>list

public Manager(List<Student>list)

{

this.list = list

}

public List<Student>getList()

{

return list

}

public void setList(List<Student>list)

{

this.list = list

}

//添加学生

public void add(Student s)

{

list.add(s)

}

//根据学生学号返回学生年龄

public int search(int id)

{

for(Iterator<Student>iter = list.iterator()iter.hasNext())

{

Student s = iter.next()

if(s.getId() == id)

{

return s.getAge()

}

}

return -1

}

//删除学生

public void remove(int id)

{

for(Iterator<Student>iter = list.iterator()iter.hasNext())

{

Student s = iter.next()

if(s.getId() == id)

{

list.remove(s)

}

}

}

//计算总成绩

public int allScore()

{

int score = 0

int temp = 0

for(Iterator<Student>iter = list.iterator()iter.hasNext())

{

Student s = iter.next()

temp = s.getScore()

score += temp

}

return score

}

//修改成绩

public void update(int id)

{

for(Iterator<Student>iter = list.iterator()iter.hasNext())

{

Student s = iter.next()

if(s.getId() == id)

{

s.setScore(s.getScore() + 10)

}

}

}

}

测试类 Client

import java.util.ArrayList

import java.util.List

public class Client

{

public static void main(String[] args)

{

List<Student>list = new ArrayList<Student>()

Manager manager = new Manager(list)//创建一个管理者

Student s1 = new Student()//无参构造方法创建的学生实例

//通过方法设置s1的属性

s1.setId(201105)

s1.setAge(20)

s1.setScore(100)

s1.setName("zhangsan")

Student s2 = new Student(201101,21,98,"lisi")//通过带参数的构造方法创建实例

Student s3 = new Student(201108,25,95,"zhaoliu")

Student s4 = new Student(201110,23,80,"xiaoming")

Student s5 = new Student(201106,28,78,"hello")

//放到集合当中

manager.getList().add(s1)//添加学生

manager.getList().add(s2)

manager.getList().add(s3)

manager.getList().add(s4)

manager.getList().add(s5)

System.out.println(list)

System.out.println(manager.allScore())

System.out.println(manager.search(201110))//根据学生学号查询学生年龄

manager.remove(201110)//删除学生

manager.update(201101)//修改成绩

}

}

可以完成你上述的基本要求,如果改动可以自行修改 很简单。

1、环境:下个tomcat服务器,下个java虚拟机,具体怎么安装网上一大堆

2、发布(部署):1)将WebRoot整个文件夹拷到tomcat目录中的webapps下面,把名字改成superMarket

2)将superMarket(网上下下来的那个)下面的build目录下面的classes文件夹拷到刚才改名字的superMarket底下的WEB-INF下面

3、运行:启动tomcat服务器,打开浏览器,输入localhost:8080/superMarket/login.jsp即可


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9941862.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存