Java课程设计教职工档案管理系统.docx

上传人:b****0 文档编号:8939423 上传时间:2023-05-16 格式:DOCX 页数:76 大小:217.83KB
下载 相关 举报
Java课程设计教职工档案管理系统.docx_第1页
第1页 / 共76页
Java课程设计教职工档案管理系统.docx_第2页
第2页 / 共76页
Java课程设计教职工档案管理系统.docx_第3页
第3页 / 共76页
Java课程设计教职工档案管理系统.docx_第4页
第4页 / 共76页
Java课程设计教职工档案管理系统.docx_第5页
第5页 / 共76页
Java课程设计教职工档案管理系统.docx_第6页
第6页 / 共76页
Java课程设计教职工档案管理系统.docx_第7页
第7页 / 共76页
Java课程设计教职工档案管理系统.docx_第8页
第8页 / 共76页
Java课程设计教职工档案管理系统.docx_第9页
第9页 / 共76页
Java课程设计教职工档案管理系统.docx_第10页
第10页 / 共76页
Java课程设计教职工档案管理系统.docx_第11页
第11页 / 共76页
Java课程设计教职工档案管理系统.docx_第12页
第12页 / 共76页
Java课程设计教职工档案管理系统.docx_第13页
第13页 / 共76页
Java课程设计教职工档案管理系统.docx_第14页
第14页 / 共76页
Java课程设计教职工档案管理系统.docx_第15页
第15页 / 共76页
Java课程设计教职工档案管理系统.docx_第16页
第16页 / 共76页
Java课程设计教职工档案管理系统.docx_第17页
第17页 / 共76页
Java课程设计教职工档案管理系统.docx_第18页
第18页 / 共76页
Java课程设计教职工档案管理系统.docx_第19页
第19页 / 共76页
Java课程设计教职工档案管理系统.docx_第20页
第20页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java课程设计教职工档案管理系统.docx

《Java课程设计教职工档案管理系统.docx》由会员分享,可在线阅读,更多相关《Java课程设计教职工档案管理系统.docx(76页珍藏版)》请在冰点文库上搜索。

Java课程设计教职工档案管理系统.docx

Java课程设计教职工档案管理系统

职工档案管理系统

一.引言

1.1项目背景和目标

职工档案管理系统主要是对在校教师的个人基本信息以及教学信息进行管理,对教职工提供查询简介信息、教学信息功能;对管理员用户提供查询教师简介信息、查询教学信息、添加教师信息、修改教师信息、删除教师信息等功能。

我们的目标就是为该系统提供后台连接MYSQL数据库程序设计以及前台用户界面设计。

1.2项目的可行性研究

设计此系统需要java面向对象编程基础,数据库应用知识以及功能分析。

根据目前所开设的课程,学生已经具备这样的知识,有能力综合java编程知识和数据库应用知识做出一个这样的学生信息管理系统

二.需求分析

2.1系统概述

此系统提供给教职工用户和学校管理者,教职工登陆后可以对能自己基本信息进行查看,管理员登陆后能对教师的基本信息进行增删改操作。

2.2系统运行环境

Java程序运行在eclipse软件上编译并且运行,数据库用MYSQL数据库

三.系统设计

3.1开发与设计的总体思想

教职工方面:

教师通过自己的用户名和密码登录后,进入教师主界面,在这个主界面里,可以进行查询信息操作。

学校管理员方面:

管理员通过自己的密码登入后可以选择:

查询功能、文件功能、修改功能。

在查询功能里面,可以选择是查询教职工简介基本信息,还是查询教学信息。

在查询教职工简介信息时,可以从依据不同字段,即简介表中的不同属性进行查找。

在查找教学信息时,只能依据教师姓名进行查找。

在修改功能里面,包括对教师简介信息表和教学表进行增加和删除记录

职工档案管理系统

3.2系统模块结构图

教职工登录

管理员登录

教职工信息管理

教职工教学信息

帮助

教职工信息查询

教职工信息修改

退出系统

教职工简介信息

教职工教学信息

删除简介信息

添加简介信息

添加教学信息

删除教学信息

3.3数据库结构设计

为了支持此职工档案管理系统,创建数据库employeemanage,在这个数据库里包含四个表:

worker表,manager表,employee表和teaching表,它们的截图如下:

在worker表中,有八个属性列,分别为:

id(职工号),wname(姓名),sex(性别),age(年龄),degree(学历),worktime(参加工作时间),salary(工资),dept(院别)。

其基本数据类型分别为:

char,char,char,int,char,char,int,char.

 

表1worker

在manager表中,有两个属性列,分别为:

mname(管理员姓名),password(密码)其基本数据类型分别为:

char,char。

当管理员登录系统时从此表获取数据,其截图如下:

表2manager

在employee表中,有两个属性列,分别为:

wname(职工姓名),password(密码)其基本数据类型分别为:

char,char。

当教职工登录系统时从此表获取数据,其截图如下:

表3employee

在teaching表中,有七个属性列,分别为:

id(职工号),wname(姓名),grade(年级),tmajor(教授专业),snum(学生人数),passrate(及格率),comment(教学总评)。

其基本数据类型分别为:

char,char,char,int,char,char,char。

其截图如下:

 

表4teaching

3.4模块设计

在整个系统主界面,可以选择登录方式,是教职工登录还是管理员登录。

如果选择教职工,则进入教职工登录界面,在这个界面上要求输入教职工姓名和密码。

输入后单击“确认登录”按钮,若密码正确,则转换到教职工教学信息查询页面,当输入教职工姓名后即可显示该名教职工的教学信息,若密码不正确,这提示密码错误。

如果选择是管理员登录,则进入管理员登陆界面,在这个界面上输入管理员姓名和密码,输入后单击“教职工信息管理”按钮,则进入管理员主界面。

在管理员主界面可以选择进行文件操作,查询操作还是修改操作。

若要查询教职工简介信息,点击查询菜单项则进入教职工简介信息检索界面,在此界面的检索方式中选择要检索的数据属性,在检索内容框中输入检索的具体信息,例如,检索“姓名”字段时,要键入某个教职工的姓名。

输入后,单击“检索”按钮,则开始对数据库中数据进行查询。

如果数据库检索到所需信息,则生成列表显示检索结构,如果没有所需信息,则页面列表中显示为空。

若要查询教职工教学信息,则点击教职工教学信息查询菜单项,进入教学查询界面。

在此界面的文本框中输入要查询教学信息的教职工姓名,然后单击检索按钮。

若数据库中有该教职工的教学信息,则生成列表显示教学信息,若没有此记录,则列表显示内容为空。

如果管理员要对数据库中进行修改操作,则在管理员主界面上选择修改菜单项,在此项中,选择要修改的具体内容,总共有四项修改操作:

添加教职工简介信息,删除教职工简介信息(这两个是对数据库中worker表的操作),添加教职工教学信息,删除教职工教学信息(这两个是对数据库中teaching表的操作)。

在添加信息操作中,按照标签提示一次输入要添加的记录值,输入完毕后,单击“添加”按钮,若输入成功,则提示成功,若输入失败,则提示失败。

在删除信息操作中,输入要删除信息的教职工姓名,单击“删除”按钮,若删除成功,则提示成功,若删除失败则提示失败。

以上就是该职工档案管理系统涉及的操作步骤。

开始

3.5系统流程描述

登录主界面

帮助

管理员登录

教职工登录

输入有误

输入有误

成功

成功

No

选择帮助

教学信息管理界面

简介信息查询

Yes

教职工信息修改

退出系统

教职工信息查询

删除教职工教学信息

删除教职工简介信息

添加教职工教学信息

添加教职工简介信息

职工教学信息

职工简介信息

退出

输入教职工

姓名

选择检索方式和数据

录入添加的简介信息

输入要删除的教职工姓名

输入要删除的教职工姓名

录入添加的教学信息

成功

成功

成功

成功

成功

成功

Yes

显示教职工教学信息

显示检索信息

输入有误

输入有误

输入有误

输入有误

没有任何的输出

Insertsuccess

insert

success

delete

success

delete

success

四、系统实现DBconnection类

本系统所编写的程序保存在以下四个包中:

connection包,first包,second包,finally包

1.connection包中的类:

(1)DBconnection类:

此类设置程序与数据库的连接,通过设置驱动类型和数据源来确定要连接的数据库。

若连接成功,提示:

connectionsuccess,若连接失败,提示:

connectionfailure

DBconnection类源代码:

packageconnection;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

importfinallys.TeachQuery;

publicclassDBconnection{

publicstaticvoidmain(String[]args){

newDBconnection();

}

publicstaticConnectioncon=null;

publicstaticConnectiongetConnection()

{

try{

StringdbDriver="com.mysql.jdbc.Driver";

Class.forName(dbDriver);

System.out.println("DriverSuceess");

}catch(ClassNotFoundExceptione){

System.out.println("Drivernotfound");

e.printStackTrace();

}

try{

con=DriverManager.getConnection("jdbc:

mysql:

//localhost:

3306/employeemanage","root","0703112418");

System.out.println("ConnectionSuceess");

}catch(SQLExceptione){

System.out.println("Connetionfailure");

e.printStackTrace();

}

returncon;

}

publicstaticvoidcloseConnection()

{

if(con!

=null)

try{

con.close();

System.out.println("databaseclosesuccess");

}catch(SQLExceptione){

System.out.println("closefailure");

e.printStackTrace();

}

}

}

2.first包中的类:

(1)Workerfirst类:

此类中有四个方法,managerLogin,addWorker,deleteWorker,queryworker,作用分别是控制管理员登陆系统,增加教职工基本信息,删除学生基本信息,查询教职工基本信息。

managerLogin()方法中,有两个参数,分别传给select语句中的mname(管理员姓名)和password(登录密码),利用select语句在employee表中检索管理员登录信息。

若存在此信息,返回true,否则返回false

addWorker)方法中,有八个参数,分别传给insert语句中的id(职工号),wname(教职工姓名),age(年龄),sex(性别),degree(学历),worktime(参加工作时间),salary(工资)和dept(院别),利用insert语句向worker教职工信息简介表中插入记录。

若插入成功,返回true,否则返回false

deleteWorker()方法中,有一个参数,传给delete语句中的wname(教职工姓名),利用delete语句,把worker表中相关教职工信息删除。

若删除成功,返回true,否则返回false

queryWorker()方法中,有两个参数,分别传给select语句中的field(查找方式)和key(查找内容),利用select语句,从worker表中检索教职工简介信息。

若存在此信息,则返回一个ArrayList类的对象lis(表格),否则,异常处理

Workerfirst类源代码:

packagefirst;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.util.ArrayList;

importsecond.Work;

importconnection.DBconnection;

publicclassWorkerfirst{

publicbooleanmanagerLogin(Stringmname,Stringpassword){

DBconnectiondb=newDBconnection();

Connectioncon=db.getConnection();

booleanisfound=false;

PreparedStatementpst;

try{

pst=con.prepareStatement("select*frommanagerwheremname=?

andpassword=?

");

pst.setString(1,mname);

pst.setString(2,password);

ResultSetrs=pst.executeQuery();

if(rs.next())

isfound=true;

}catch(SQLExceptione){

e.printStackTrace();

}

System.out.println(isfound);

returnisfound;

}

publicbooleanaddWorker(Stringid,Stringwname,Stringsex,intage,Stringdegree,Stringworktime,intsalary,Stringdept)

{

Connectioncon=DBconnection.getConnection();

PreparedStatementpst;

try{

pst=con.prepareStatement("insertintoworkervalues(?

?

?

?

?

?

?

?

)");

pst.setString(1,id);

pst.setString(2,wname);

pst.setString(3,sex);

pst.setInt(4,age);

pst.setString(5,degree);

pst.setString(6,worktime);

pst.setInt(7,salary);

pst.setString(8,dept);

intcount=pst.executeUpdate();//返回修改的记录数

if(count==1)

returntrue;

else

returnfalse;

}catch(SQLExceptione){

e.printStackTrace();

}

returnfalse;

}

publicArrayListqueryWorker(Stringfield,Stringkey){

ArrayListlis=newArrayList();

Connectioncon=DBconnection.getConnection();

Statementstm;

try{

stm=con.createStatement();

Stringsql="select*fromworkerwhere"+field+"like'%"

+key+"%'";

System.out.println(sql);

ResultSetrs=stm.executeQuery(sql);

while(rs.next()){

Workwork=newWork(rs.getString

(1),rs.getString

(2),rs.getString(3),rs.getInt(4),rs.getString(5),rs.getString(6),rs.getInt(7),rs.getString(8));

lis.add(work);

}

}catch(SQLExceptione){

e.printStackTrace();

}

returnlis;

}

publicbooleandeleteWorker(Stringkey){

Connectioncon=DBconnection.getConnection();

Statementstm;

try{

stm=con.createStatement();

Stringsql="deletefromworkerwherewnamelike'%"

+key+"%'";

System.out.println(sql);

intcount=stm.executeUpdate(sql);

if(count==1)

returntrue;

else

returnfalse;

}catch(SQLExceptione){

e.printStackTrace();

}

returnfalse;

}

}

(2)Employeefirst类:

此类中有一个方法:

queryEmployee(),作用是控制教职工登陆queryEmployee()方法中,有两个参数,分别传给select语句中的wname(教职工姓名)和password(登陆密码),利用select语句在teacher表中检索教师登陆信息。

若存在此信息,返回true,否则返回false

Employeefirst类源代码:

packagefirst;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importconnection.DBconnection;

publicclassEmployeefirst{

publicbooleanqueryEmployee(Stringwname,Stringpassword){

DBconnectiondb=newDBconnection();

Connectioncon=db.getConnection();

booleanisfound=false;

PreparedStatementpst;

try{

pst=con.prepareStatement("select*fromemployeewherewname=?

andpassword=?

");

pst.setString(1,wname);

pst.setString(2,password);

ResultSetrs=pst.executeQuery();

if(rs.next())

isfound=true;

}catch(SQLExceptione){

e.printStackTrace();

}

System.out.println(isfound);

returnisfound;

}

publicstaticvoidmain(String[]args){

}

}

(3)Teaching类:

在该类中有四个方法queryTeaching,addTeaching,deleteTeaching

作用分别是为教职工用户提供查询教学信息的功能,为管理者用户提供

询教职工教学信息,添加教学信息,删除教学信息功能。

queryTeaching()方法中,有一个参数,传给select语句中的wname(学生姓名),利用select语句,查询教学信息表中的内容。

若查询成功,则返回一个ArrayList类的对象lis(表格),否则,异常处理

addTeaching()方法中,有七个参数,分别传给insert语句中的id(职工号),wname(教职工姓名),grade(年级),tmajor(教学专业),snum(学生人数),passrate(及格率),comment(教学总评)。

利用insert语句,将这些记录写入teaching表中。

若插入成功返回true,否则返回false

deleteTeaching()方法中,有一个参数,传给delete语句中的wname(教职工姓名),利用delete语句,把steaching表中相关教职工的教学信息删除。

若删除成功,返回true,否则返回false

Teaching类源代码:

packagefirst;

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.util.ArrayList;

importfinallys.ManagerDD;

importsecond.Teaching;

importsecond.Work;

importconnection.DBconnection;

publicclassTeachingfirst{

publicArrayListqueryTeaching(Stringkey){

ArrayListlis=newArrayList();

Connectioncon=DBconnection.getConnection();

Statementstm;

try{

stm=con.createStatement();

Stringsql="select*fromteachingwherewnamelike'%"+key

+"%'";

System.out.println(sql);

ResultSetrs=stm.executeQuery(sql);

while(rs.next()){

Teachingteach=newTeaching(rs.getString

(1),rs.getString

(2),rs

.getString(3),rs.getString(4),rs.getInt(5),rs.getString(6),rs.getString(7));

lis.add(teach);

}

}catch(SQLExceptione){

e.printStackTrace();

}

returnlis;

}

publicArrayListqueryTeach(Stringkey){

ArrayListlis=newArrayList();

Connectioncon=DBconnection.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2