基于JAVA的教职工信息管理系统

发布时间:2018-09-27 04:10:29

基于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位元码,因此在进行程序联结时,节省时间,这对于缩短程序的开发过程,有极大的帮助。(3)安全性:Java是被设计用于网络及分布式的环境中,安全性当然是一个很重要的考虑。Java拥有数个阶层的互锁保护措施,能有效地防止病毒的侵入和破坏行为的发生。(4)结构中立性:如何使一个应用程序可以在每一种机器上执行,是一个难题。Java的编译器产生一种结构中立的目标文件格式,这使得编译码得以在很多种处理器中执行。

  Microsoft SQL Server 2000Microsoft公司于2000年底推出的关系型数据库管理系统,它具有以下几个主要特点:(1)丰富的图形化管理工具,使系统管理、操作更为方便。(2)动态自动管理和优化功能。(3)充分的Internet技术支持。(4)丰富的编程接口工具,使用户开发SQL Server数据库应用程序更加灵活。(5)具有良好的伸缩性和可靠性。(6)管理方式简单化。

  

  2 系统分析

  本系统旨在为计算机系教职工信息管理者提供一个方便、经济实用的软件,因此在设计之初便围绕以下目标展开:(1)方便管理者管理;(2)最大限度的提供教工的信息量,以方便管理者按实际要求来制作统计报表;(3)尽量节省系统资源。

  2.1 系统的功能模块

  根据调研,教职工信息的管理流程大体是:管理者录入信息→管理者查询、修改、添加、删除、统计信息→制表→输出、打印信息。因此本系统主要可以实现教职工信息的录入、查询、修改、删除、统计、根据实际情况制表、输出到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

  其中的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 XP200098LinuxUnix等。是一款不依赖于操作系统的软件。另外它还具有运行成本低廉的特点,使用者只需要安装SQL Server2000数据库和Java虚拟机即可运行此软件。

  

  参考文献

  [1] ()avid FlanaganJava实例技术手册[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 EckelJava编程思想[M].机械工业出版社,1999,4.

  [7] 萨师煊.数据库系统概论[M].高等教育出版社,2003,2.

  [8] 闪四清.Server简明教程[M].清华大学出版社,2005,5.

  [9] 朱福喜,唐晓军.Java程序设计技巧与开发实例[M].人民邮电出版社,2004,4.

  [10] 张孝祥.Java就业培训教程[M].清华大学出版社,2003,9.

基于JAVA的教职工信息管理系统

相关推荐