基于JAVA的教职工信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于JAVA 的教职工信息管理系统
摘要:用计算机管理教师信息具有可靠、方便、省时省力的特点。
当今各种管理软件大部分只针对一个学校或者更大的范围来编写,它具有通用性良好的特点,但对于小领域如一个系来说,它就很难适应这个系特殊的管理。
而该设计正是基于计算机系教师信息管理的特点来开发的。
它可以实现教师信息的录入、添加、修改、删除、查询、保存到Excel 、打印预览等基本功能。
同时还为管理者提供统计、制表、系统日志、开介绍信等特色功能。
该系统具有界面友好、操作方便、成本低廉、符合管理者习惯的特点。
另外,系统采用Java 语言开发,具有可移植性良好、不依赖于操作系统的特点。
同时采用SQL Server 2000 数据库管理系统做数据库,是因为它具有管理方便,存储量大的特点,适合计算机系信息管理的要求。
相信该系统的开发必将极大的方便计算机系教师信息管理者的管理。
关键词:Java 信息管理系统数据库模式中图分类
号:TP311.13 文献标识码:A 文章编
号:1672-3791(2011)10(a)-0006-02
大部分的信息管理系统中大部分是针对一个学校或者
一个单位设计的,从宏观上说确实方便了学校或者单位,但从
微观上讲却不适合小型组织的要求,例如一个系。
因此开发一
个针对学校的某个部门的教职工信息管理系统就显得尤为重要。
本系统的开发目的是开发一款适合计算机系教职工信息管理特点的软件,来方便管理者对这些信息的管理。
1 开发工具简介
本系统使用JDK1.4.0作为开发环境,编程语言为Java,使用SQL Server2000做数据库。
Java是在C++的基础上研制开发的,它克服了C++语言在编写程序时的缺点,如:指针的使用,使得编程更加简单。
它主要有以下特点:(1)可移性:Java本身具备很好的可移植性,可以适用于各种系统。
(2)解释性:Java解释器能直接地在任何机器上执行Java 位元码,因此在进行程序联结时,节省时间,这对于缩短程序的开发过程,有极大的帮助。
⑶安全性:Java是被设计用于网络及分布式的环境中,安全性当然是一个很重
要的考虑。
Java拥有数个阶层的互锁保护措施,能有效地防止病毒的侵入和破坏行为的发生。
(4)结构中立性:如何使一个应
用程序可以在每一种机器上执行,是一个难题。
Java的编译器产生一种结构中立的目标文件格式,这使得编译码得以在很
多种处理器中执行。
Microsoft SQL Server 2000 是Microsoft 公司于2000 年底
推出的关系型数据库管理系统,它具有以下几个主要特点:(1) 丰富的图形化管理工具,使系统管理、操作更为方便。
(2) 动态自动管理和优化功能。
(3) 充分的Internet 技术支持。
(4) 丰富的编程接口工具,使用户开发SQL Server 数据库应用程序更加灵活。
(5)具有良好的伸缩性和可靠性。
(6) 管理方式
简单化。
2 系统分析本系统旨在为计算机系教职工信息管理者提供一个方便、经济实用的软件,因此在设计之初便围绕以下目标展开:(1) 方便管理者管理;(2) 最大限度的提供教工的信息量,以方便管理者按实际要求来制作统计报表;(3) 尽量节省系统资源。
2.1 系统的功能模块
根据调研,教职工信息的管理流程大体是:管理者录入信
息T管理者查询、修改、添加、删除、统计信息T制表T输出、打印信息。
因此本系统主要可以实现教职工信息的录入、查询、修改、删除、统计、根据实际情况制表、输出到Excel 、打印报表信息。
另外本系统还提供系统日志、管理员改密、开介绍信、以及帮助信息和数据库备份和恢复操作的功能。
如图1 所示。
2.2 功能描述
(1) 系统维护模块。
[ 手工备份] 可以选择备份路径,填写备份名称从而实现数
据库备份的功能。
[数据库恢复]选择已备份的数据库备份文件路径,系统根
据此路径实现数据库的恢复。
[系统日志]向用户提供插入、删除、修改、添加记录信息的操作日志以及修改密码和数据库恢复、备份的系统日志。
[修改密码]用户可以通过此项功能实现用户名和密码的修改。
(2) 常用表查询模块。
[外系教工情况表]在此模块中可以实现对外系教工情况的基本查询、高级查询、添加、修改、删除、全部删除、刷新、统计、打印预览、导出到Excel 的功能。
[本系教工情况表]、[教工学历职称表]、[教工人事调动表]、[教工党政情况表]、[教工培训情况表]、[任课情况表]、[课程设置表]、[教工科研表]、[教工专利表]、[教工专著表]、[学生成绩表]、[学生情况
表]、[毕业设计表]、[毕设情况表]均和上述情况类似,不再赘述。
[开介绍信]此功能相当于为管理者打开一个类似于Microsoft Word 的编译器,使管理者可以在其中书写介绍信, 然后预览打印介绍信。
(3) 制表与统计功能模块。
[制表统计]在此模块中,管理者可以实现随心所欲的制表
也就是说可以根据不同的需要来选择不同的字段来制作想
要的表格。
在此模块中同样可以实现统计、保存到Excel 的功能。
(4) 基表维护。
[教工基表维护]在此模块中可以实现对教工基本情况的基本查询、高级查询、添加、修改、删除、全部删除、统计、刷新、打印预览、导出到Excel 的功能。
[课程基表维护]、[科研基表维护]、[专利基表维护]、[专著基表维护]、[毕设基表维护]、[系别基表维护]、[学生基表维护]均与上述情况类似, 不再赘述。
(5) 帮助功能模块。
[关于本系统]此功能主要是查看系统的版本、版权、项目开发者、主题等信息。
[使用帮助]此功能模块的作用主要是查询某个功能(如: 修改)的如何使用,帮助信息使用chm 帮助文档格式编写。
[相关说明]此功能主要是向管理者说明在使用的时候应注意的事项。
采用Word 文档的形式实现。
(6) 退出功能模块。
实现退出系统的功能。
(7) 系统登录模块。
此模块主要实现对非法用户的限制进入,如果用户是合法用户则可以进入系统进行合法的操作,如果是非法用户就
无法进入系统进行操作
3 系统实现
本系统是一个单机版的软件,只对教工信息管理者开放, 因此在系统登录时就设置了系统默认的密码,在管理员第一
次登录时就会让管理员输入系统登录的默认密码,在验证无
误后系统将呈现打开状态,这时管理者就会取得所有权限,实现上述功能模块的各个功能。
以下简单叙述了两个关键部分的代码。
3.1 数据库连接
本系统连接数据库采用JDBC 桥的模式,这是一种Java 语言直接访问数据库的模式,它的最大的好处在于不用像ODBC 那样,配置本地数据源和驱动。
连库代码如下。
String
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName
=tmmstem";// 连接路径为本地连接,数据库名为tmmstem String username = "sa";// 登录数据库时的用户名为sa
String password = "";// 登录数据库时的密码为空
try
{
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver
); //加载数据库驱动
connection = DriverManager.getConnection( url, username,
password );
statement = connection.createStatement(); //创建连接
}
catch ( ClassNotFoundException cnfex )
{
System.err.println(" 装载JDBC/ODBC 驱动程序失败);
cnfex.printStackTrace();
System.exit( 1 );
}
catch ( SQLException sqlex )
{
System.err.println( " 无法连接数据库" );
sqlex.printStackTrace();
System.exit( 1 );
}
3.2 与EXCEL 数据的交互管理者所能执行的操作为工具栏中
的删除、全部删除、
保存到Excel 三项。
首先介绍删除。
删除遵循先选中后删除的原则,即当管理
者想删除某一行时必须先选中此行,然后点击删除按钮就会删除选中的行并重绘表格。
具体选中代码如下。
table.addMouseListener(new LeftClickListener(table));// 给表格添加鼠标点击事件侦听器
/* 以下是新定义的鼠标点击事件侦听处理类*/
class LeftClickListener extends MouseAdapter { public LeftClickListener(JTable table){this.table=table;} public void mousePressed(MouseEvent e) { int row =
table.rowAtPoint(e.getPoint());// 记录鼠标点击时所在的行}
}
}
以上代码只是选中一行的情况,即每次鼠标点击后,所选中的行号row 就会随之变化。
因此点击删除按钮后,只会删除鼠标最后一次点击时所在的行号。
另外本系统还有支持多行选中的代码,由于篇幅所限,将在附录中给出。
当选中操作完成后,管理者只要点击删除按钮就会执行删除行的SQL 语句。
query="delete xtrzhi where
xhao='"+defaultModel.getValueAt(j,0)+"'";// 删除表格中选定的其中的j 就是要删除的行,defaultModel.getValueAt(j,0) 是得到此行的编号。
当管理者删除操作成功后,程序就会自动重绘表格,让它显示删除后的所有记录。
即执行代码table.revalidate();// 表格重绘。
同时会弹出提示窗口提示管理者删除成功。
全部删除和删除代码基本相同,只是不用选定行,因此不
再赘述。
而保存到Excel 有两种形式。
一种是把结果集保存到Excel,另一种是把当前表格保存到Excel。
第一种形式中,
必须在保存之前先执行查询语句,然后,把查询语句的结果集
即rs.getMetaData(), 传递给应用程序。
然后应用程序就会自动把结果集中的每一个值保存到相应的Excel 表中。
其中写入Excel 表单元值的代码如下。
while(rs.next())
{row= sheet.createRow((short)iRow);;
for(int j=1;j<=nColumn;j++)
{
cell = row.createCell((short)(j-1));
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
if(rs.getObject(j)!=null)// 如果结果集中的某一列为空值
单元格内容就设置为空格
cell.setCellValue(rs.getObject(j).toString().trim());
else cell.setCellValue(" ");
}
iRow++;
}
把表格中的数据导入到Excel 与上述情况类似,只不过是将表格的模式传递给应用程序,然后执行类似的操作,同时修改为以下代码。
//设置单元格的值为要导出表格的某一单元格的值。
cell.setCellValue(defaultModel.getValueAt(i,j).toString().trim()) 。
4 结语本系统基本实现了对教工信息的录入、查询、修改、删除、统计、输出到Excel 等常用的功能,这些功能操作方便、实现代码简洁、符合管理者的操作习惯。
除这些特点外本系统最大的特点就是可以按照管理者的意愿制表以及实现多重统计。
本系统的成功开发将极大的方便计算机系教职工信息管理者的管理,同时只要本软件稍加改动还可以满足其它各系对教工信息的管理。
本系统除了对小型部门的适用以外,
还具有跨平台性良好的特点,适用于各个系统,如Windows
XP、2000、98、Linux 、Unix 等。
是一款不依赖于操作系统的软件。
另外它还具有运行成本低廉的特点,使用者只需要安
装SQL Server2000 数据库和Java 虚拟机即可运行此软件。
参考文献
[1] (美)avid Flanagan . Java实例技术手册[M].中国电力出版社,2001,11.
[2] (美)斯贝尔.Java高级编程[M].清华大学出版
社,2006,12.
[3] 飞思科技产品研发中心.Java 2应用开发指[M] .电子
工业出版社,2003,1.
[4] 魏海萍.标准Java 2使用手册[M] .电子工业出版
社,2005,1.
[5] 唐小军,等.Java项目设计与开发范例[M].电子工业出版社,2005,4.
[6] (美)Bruce Eckel . Java编程思想[M].机械工业出版社, 1 999,4.
[7] 萨师煊.数据库系统概论[M] .高等教育出版社,2003,2.
[8] 闪四清.Server简明教程[M].清华大学出版社,2005,5.
[9] 朱福喜,唐晓军.Java 程序设计技巧与开发实例
[M] .人民邮电出版社,2004,4.
[10] 张孝祥.Java 就业培训教程[M] .清华大学出版
社,2003,9.。