基于java的学生信息管理系统设计与实现doc.doc
《基于java的学生信息管理系统设计与实现doc.doc》由会员分享,可在线阅读,更多相关《基于java的学生信息管理系统设计与实现doc.doc(97页珍藏版)》请在咨信网上搜索。
基于java的学生信息管理系统设计与实现【实用文档】doc 文档可直接使用可编辑,欢迎下载 基于java的学生信息管理系统设计与实现 基于java的学生信息管理系统设计与实现 摘要:利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。本设计就是一个为实现信息化管理而开发的信息管理系统,能够进行信息存储、查询、修改等能功。该系统由六个模块构成,包括学生管理系统的主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。通过这些模块的有机结合,能方便的对学生信息进行综合管理,从而实现了信息化管理的目的。由于本人的能力有限,设计过程中难免有不足之处,设计中的存在问题本人将在日后进一步修改,以便让程序的设计更加完善. 关键词:oracle; 异常处理;关系模型 目录 1 引 言1 1.1背景及意义1 1。2 实验技术选择1 1.3 课题实现技术的简要说明5 1。4可行性分析6 2系统需求分析6 3 学生信息管理系统设计7 3。1数据模型分析与设计8 3.2 结构设计与结构功能图10 3。2。1 结构设计10 3。2.2 功能结构图10 4 系统实现12 5 系统调试与测试17 5.1系统功能测试17 5.2系统调试常见错误17 6 实验小结19 参考文献19 1 引 言 1.1背景及意义 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。本课题就是针对便于学生信息管理的问题而设计的一个管理系统。 1。2 实验技术选择 本课题设计主要运用的技术有两个:java项目开发和oracle对数据库的操作.这里主要介绍本课题为什么选用这两个开发技术: ⑴首先了解一下Java语言特点 Java是一种跨平台,适合于分布式计算环境的面向对象编程语言.具体来说,它具有如下特性: 简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。 下面我们将重点介绍Java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性。 ①面向对象 面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象.对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动.用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。 所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互).所谓封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体.可以说,对象是支持封装的手段,是封装的基本单位。Java语言的封装性较强,因为Java无全程变量,无主函数,在Java中绝大部分成员是对象,只有简单的数字类型、字符类型和布尔类型除外.而对于这些类型,Java也提供了相应的对象类型以便与其他对象交互操作. 多态性就是多种表现形式,具体来说,可以用“一个对外接口,多个内在实现方法”表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的.针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。运算符重载(operatoroverload)一直被认为是一种优秀的多态机制体现,但由于考虑到它会使程序变得难以理解,所以Java最后还是把它取消了。 继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义.例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的“父亲",而这些子实体则是汽车的“孩子"。Java提供给用户一系列类(class),Java的类有层次结构,子类可以继承父类的属性和方法。与另外一些面向对象编程语言不同,Java只支持单一继承. ②平台无关性 Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C++具有一定程度的源代码级平台无关,表明用C或C++写的应用程序不用修改只需重新编译就可以在不同平台上运行。 Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性.JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。(目前,SUN系统公司已经设计实现了Java芯片,主要使用在网络计算机NC上。 另外,Java芯片的出现也会使Java更容易嵌入到家用电器中。)JVM是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完程序后,通过Java编译器将Java源程序编译为JVM的字节代码.任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。另外,Java采用的是基于IEEE标准的数据类型.通过JVM保证数据类型的一致性,也确保了Java的平台无关性. Java的平台无关性具有深远意义。首先,它使得编程人员所梦寐以求的事情(开发一次软件在任意平台上运行)变成事实,这将大大加快和促进软件产品的开发。其次Java的平台无关性正好迎合了“网络计算机”思想。如果大量常用的应用软件(如字处理软件等)都用Java重新编写,并且放在某个Internet服务器上,那么具有NC的用户将不需要占用大量空间安装软件,他们只需要一个Java解释器,每当需要使用某种应用软件时,下载该软件的字节代码即可,运行结果也可以发回服务器。目前,已有数家公司开始使用这种新型的计算模式构筑自己的企业信息系统. ③分布式 分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。 Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。对于前者,Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率. Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现Java的分布式特性。 ④可靠性和安全性 Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。Java虽然源于C++,但它消除了许多C++不可靠因素,可以防止许多编程错误。首先,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。 由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏.当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统. 上述几种机制结合起来,使得Java成为安全的编程语言. ⑤多线程 线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。 C和C++采用单线程体系结构,而Java却提供了多线程支持. Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。Java提供了一个类Thread,由它负责启动运行,终止线程,并可检查线程状态.Java的线程还包括一组同步原语.这些原语负责对线程实行并发控制。利用Java的多线程编程接口,开发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。必须注意地是,Java的多线程支持在一定程度上受运行时支持平台的限制。例如,如果操作系统本身不支持多线程,Java的多线程特性可能就表现不出来。 ⑵ oracle数据库的特点 ●无范式要求,可根据实际系统需求构造数据库。 ●采用标准的SQL结构化查询语言. ●具有丰富的开发工具,覆盖开发周期的各阶段。 ●支持大型数据库,数据类型支持数字、字符、大至4GB的二进制数据,为数据库的面向存储提供数据支持。 ●具有第四代语言的开发工具(SQL*formS、SQL*REPORTS、SQL*MENU等). ●具有字符界面和图形界面,易于开发。 ●通过SQL*DBA控制用户权限,提供数据保护功能,监控数据库的 运行状态,调整数据缓冲区的大小。 ●分布优化查询功能。 ●具有数据透明、网络透明,支持异种网络、异构数据库系统.并行 处理采用动态数据分片技术. ●支持客户机/服务器体系结构及混合的体系结构(集中式、分布式、 客户机/服务器)。 ●实现了两阶段提交、多线索查询手段。 ●支持多种系统平台(HPUX、SUNOS、OSF/1、VMS、 WINDOWS、WINDOWS/NT、OS/2). ●数据安全保护措施:没有读锁,采取快照SNAP方式完全消除了分布读写冲突。自动检测死锁和冲突并解决。 ●数据安全级别为C2级(最高级)。 ●数据库内模支持多字节码制,支持多种语言文字编码。 ●具有面向制造系统的管理信息系统和财务系统应用系统。 综上所述,选择java作为开发语言,oracle作为数据库开发工具是个不错的选择。java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性,使得开发出来的项目具有健壮性、可维护性、可移植性等特点.Oracle是目前最具权威的数据库产品,它具有的兼容性、可移植性、可联结性、高生产率和开放性的特点,使它成为当今众多的程序开发人员首选的数据库开发工具.所以本课题选择java和oracle作为开发技术是为今后开发更复杂的项目打下基础,以免到时候遇到相关的技术问题而不知所措。 1。3 课题实现技术的简要说明 本课题主要运用了java图形编程和oracle数据库的操作。 Java图形编程给用户提供了一个直观、易于与用户进行交互的图形界面。在图形编程中,运用了大量的java。swing包中的类,之所以选择swing包中的类而不选java.awt包中的类,主要是swing包中的类能给用户提供更好的观感. oracle数据库的操作这部分内容分成三部分来实现:首先,编写对数据库操作的类,包括:连接数据库、执行sql语句、关闭数据库连接等。其次,编写一个用于对学生信息进行数据库操作的类,包括:学生信息的增加、修改、删除和查询等。最后,编写一个用于对课程相关信息进行数据库操作的类,包括:对课程信息的增加、修改、删除、查询等等。 通过结合图形编程和数据库编程,从而基本上实现了学生信息管理的基本功能,由于本人技术上的不足,难免有些地方需要改进,这些存在的问题都将成为本人前进的动力,并在日后更加完善本课题的设计。 1.4可行性分析 系统的性质为管理软件,因而数据库的设计与操纵是系统设计的核心。这里从两方面分析技术上的可行性。 首先,对于java编程部分,java课已经开过。因此在课题设计中,对java图形编程方面的问题都能迎韧而解。 其次,对于数据库的有关知识,本人运用了大量的时间对相关书籍的阅读以及上机实验,基本上掌握了运用oracle数据库技术,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;因而该系统的实现在技术上是可行的。 2系统需求分析 本课题根据学生信息管理综合分析,便出于方便管理考虑,将学生信息管理系统的功能总结起来,共需要实现以下几个方面功能: ①管理学生信息 管理所有学生的基本信息,对学生信息的操作包括添加、修改、删除等;可以根据各种条件查询出需要的信息,比如修改,可以通过学生学号查询出学生的基本信息,然后通过对需要修改项进行修改并保存修改后的结果存入数据库的学生表中。 ②管理课程信息 管理所有课程的基本信息,包括对课程信息的添加、修改、删除等操作;可以根据各种条件查询出需要的信息,并对相应的信息进行操作.比如修改和删除,可以通过学生的学号查询出学生的相应课程信息,对相应的课程进行修改、删除操作。 ③学生选课与成绩 根据学生的学号进行选课,登记所选课程的成绩;可以根据学号查询出选课信息与成绩。 通过以上功能的设计与实现,并实现学生信息管理系统的基本功能. 3 学生信息管理系统设计 3。1数据模型分析与设计 数据库模型描述了在数据库中结构化和操纵数据的方法,模型的结构部分规定了数据如何被描述(例如树、表等);模型的操纵部分规定了数据的添加、删除、显示、维护、打印、查找、选择、排序和更新等操作。数据库模型的分类:分层模型、关系模型、网络模型和对象模型. 本课题选择的关系模型,关系模型是目前最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。关系数据模型具有下列优点: ● 关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。 ● 关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检索结构也是关系(即表)。所以其数据结构简单、清晰,拥护易懂易用. ● 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作. 所以,关系数据模型诞生以后发展迅速,深受拥护的喜爱,这也是本课题选取关系数据模型的原因。 当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路件对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度. 本课题的关系数据模型的数据结构可分为三个表来表示:学生信息表(Student)、课程信息表(Course)、学生选课表(SC); 学生信息表用于记录学生的基本信息,如表3—1;课程信息表用于记录课程的基本信息,如表3-2;学生选课表如下表3-3。这三个表对应的E-R图分别是:图3.1 学生信息E—R图;图3。2 课程信息E—R图;图 3。3 学生选课E-R图;如下图。 表3-1 学生信息表(Student) 名称 数据类型 主键 非空 学号 Number(10) Yes Yes 学生姓名 Varchar2 No Yes 性别 Char(2) No No 年龄 Char(2) No No 专业 Varchar2 No No 学院 Char(8) No No 表3-2 课程信息表(Course) 名称 数据类型 主键 非空 课程编号 Char(4) Yes Yes 课程名称 Varchar2 No Yes 授课教师 Varchar2 No No 上课地点 Varchar2 No No 课程类别 Char(1) No No 表3—3 学生选课表(SC) 名称 数据类型 主键 非空 学号 Char(10) Yes Yes 课程编号 Char(4) Yes Yes 成绩 Number(4,1) No No 学生 学号 学生姓名 性别 专业 年级 出生 图3.1 学生信息E-R图 课程 课程编号 上课地点 课程名称 授课教师 课程类别 图3.2 课程信息E-R图 选课表 学号 课程编号 成绩 图3.3 学生选课E-R图 3。2 结构设计与结构功能图 3。2。1 结构设计 根据对系统进行需求分析,本系统将分为4个模块: ● 学生管理 管理学生基本信息,包括个人信息的添加、修改、删除以及选课信息的添加。 ●课程管理 管理课程的基本信息,包括课程信息的添加、修改和删除。 ●成绩管理 管理学生选课的成绩信息,包括成绩的登记与修改。 ●信息查询 查询已经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息。 3.2.2 功能结构图 学生管理系统功能结构如图3。4所示。 学生管理系统 学生管理 课程管理 成绩管理 信息查询 添加 增加 删除 学生查询 增加 课程查询 修改 修改 修改 删除 学生选课 成绩查询 按姓名查询 按学号查询 按性别查询 按专业查询 按学院查询 按课程名称查询 查询所有科目成绩 按授课老师查询 图3.4 学生管理系统功能结构图 4 系统实现 该系统由6个模块构成,包括学生管理系统主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据操作模块。下面分别加以叙述: ① 学生管理系统主界面模块 学生管理系统主界面模块包括StuMS.java和StuMain.java两个文件。StuMS是学生管理系统的主运行类,其中有运行整个程序的main方法,该文件生成了StuMain类的一个实例,从而生成了学生管理系统的界面,如图4.1所示。StuMain类继承自JFrame类,实现了ActionListener接口,他有一个不带参数的构造方法StuMain(),用来生成StuMain的实例。StuMain类将所有功能集中到菜单栏中,并通过调用其他模块来实现学生管理系统的各个功能。 图4.1 学生管理系统主界面 ② 学生信息管理模块 学生信息管理模块主要由StuInfo.java、AddStuInfo。java、EdiStuInfo。java、DelStuInfo.java、SelectCourse.java和StuInfoSearchSnum。java共计6个文件组成,其构成关系如图4.2所示。 学生信息超类 StuInfo.java 增加学生信息 AddStuInfo.java 修改学生信息 EdiStuInfo.java 删除学生信息 DelStuInfo.java 学生选课 SelectCourse.java 按学号查询 StuInfoSearchSnum.java 按学号查询 StuInfoSearchSnum.java 图4.2 学生信息管理模块功能结构图 学生信息管理模块的6个文件组成了主界面中的“学生管理”菜单的内容,其中包括增加、修改、删除和学生选课功能,如图4.3所示。 图4。3 学生信息管理模块的运行界面 ③ 课程信息管理模块 课程信息管理模块主要由CourseInfo。java、AddCourseInfo.java、EditCourseInfo。java、DelCourseInfo。java、CourseInfoSearchCnum.java这5个文件组成,其构成关系如图4.4所示。 课程信息超类 CourseInfo.java 增加课程信息 AddCourseInfo.java 修改课程信息 EditCourseInfo.java 删除课程信息 DelCourseInfo.java 按课程号查询 CourseInfoSearchCnum.java 按课程号查询 CourseInfoSearchCnum.java 图4.4 课程信息管理模块功能结构图 课程信息管理模块中的5个类文件组成了主界面中“课程管理"菜单的内容,其中包括增加、修改和删除功能,如图4.5所示. 图4。5 课程信息管理模块运行界面 ④ 成绩信息管理模块 成绩信息管理模块主要由GradeInfo。java、AddGradeInfo。java、EditGradeInfo.java这3个文件组成,其构成关系如图4.6所示。 成绩管理超类 GradeInfo.java 增加成绩信息 AddGradeInfo.java 修改成绩信息 EditGradeInfo.java 图4.6 成绩信息管理模块功能结构图 成绩信息管理模块中的3个类文件组成了主界面中的“成绩管理”菜单的内容,其中包括增加和修改功能,如图4.7所示. 图4。7 成绩信息管理模块的运行界面 ⑤ 信息查询模块 信息查询模块主要包括学生查询、课程查询和成绩查询3个部分.信息查询的运行主截面如图4.8所示。 图4.8 学生信息查询模块的运行界面 学生查询由StuSearchSnum.java、StuSearchSsex。java、StuSearchScollege.java、StuSearchSmajor。java和ResultStudent.java这6个文件组成,主要实现功能包括:按学号查询、按学生姓名查询、按性别查询、按学院查询与按专业查询。 5 系统调试与测试 5.1系统功能测试 功能测试主要是测试程序模块是否实现了设计中所要求的功能。功能测试中需要注意的有: (1)查询功能中,有按单一查询条件进行查询的,也有按多个查询条件组合查询的。这里要注意的多个查询条件之间的关系。还有一些常识性的问题,比如按月查询,闰月中二月的天数. (2)录入功能中,需要注意的是前台设置的数值长度是否大于后台数值长度,以及前台和后台的数据结构是否相符,很多时候录入功能无法实现是由于这些原因。还有就是必须录入的字段的设置时候有误。 (3)测试删除功能中需要注意的是单击”删除"按钮后,一般会出现提示信息,询问是否确定删除。通常情况下,我们单击"确认"按钮查看信息是否被删除掉了,而忽略了单击”取消"按钮后程序的反应:这时有可能的是没有删除,还有一种可能是即便单击了”取消"按钮,也一样删除了数据。另外,在删除多条记录的时候,要注意连续选中的几条记录是否真正都被删除掉了,即如果再按照这种查询方式查询,时候还能查询出来。有的时候需要在数据库中设立一个标志位,而不是真正的物理删除。所以在下一次查询中,可能还会被查询出来,这主要是因为在查询条件中没有将标志考虑在内. (4)关于修改功能的测试主要是看修改确认后是否数据真正已被修改了。这是最基本的功能,需要注意的是看是否能把不应该修改的数据也修改成功了。 5.2系统调试常见错误 1。NullPointerException异常 一般是对一个为NULL值的变量进行操作引起的。为避免这种异常,最好在对变量操作之前检查,看它是否为NULL值。 2.SQLException异常 一般是由于SQL语句不正确引起的。为避免这种异常,最好在使用SQL语句的程序中捕获此SQL异常。 3.NumberFormatException异常 这是由于数字的格式错误而出现的例外。为了避免出现此类错误,一般必须保证数据格式输入正确。 4。数据库连接垃圾回收 在实际的开发应用中,通常出现某一个对象未能关闭的情况,为了防止这种情况的发生,可以在有关对数据库操作的Java类文件中增加自动回收函数,在JVM自动地回收对象时,取出使用的连接对象,判断是否关闭,如果没有关闭则关掉。代码如下所示: protected void finalize() { try { If(getConn()!=null&&!getConn()。isClosed()) { rs。cloes(); stm.close(); conn.close(); } }catch(SQLException e){} } 6 实验小结 经过这次课题的设计并实现,尽管会遇到很多难题,但是让我更加受益的是在这次课题中得到的经验、心得和锻炼。我发现做实验的过程其实就是个不断的解决问题的过程,从中也感觉到实验成功的快乐,一个人永远有学不玩的知识,就算是实验中的知识点都学了,但在实际的应用过程中仍然会遇到不少问题,遇到问题时要做到两点:一个是“查” ,一个是“问”。不懂的地方就得要自己找答案,可以从书本、网络中查找解决的答案;再一个就是问周边的同学.这次课程的设计给我所学的知识做了一个总结,为我深入学习编程做了铺垫。在本课题中存在的不足之处是在所难免的,本人将在日后加于改进。 参考文献 [1] 王克宏、郝建文。 Java技术教程 [M]。 北京:清华大学出版社,2002年9月。 [2] 蔡敏、徐慧慧、黄炳强. UML基础与Rose建模教程 [M]. 北京:人民邮电出版社,2006年5月. [3] 萨师煊、王珊. 数据库系统概论(第三版)[M]. 北京:高等教育出版社,2005年12月。 [4] 齐治昌、谭庆平、宁洪。 软件工程(第二版)[M]。 北京:高等教育出版社,2004年,3月. [5] 周竞涛、赵寒。 Eclipse完全手册 [M]。 北京:电子工业出版社,2006年,8月. [6] Cay S。Horstmann、Gary Cornll. 叶乃文 等译。 Java核心技术 [M] 北京:机械工业出版社,2006年5月. [7] 蒙祖强、龚涛. Oracle 10g 数据库Java开发. 北京:中国水利水电出版社,2005年6月。 附录代码 // AddStuInfo。java package com.main; import java。awt。event。ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import javax。swing。JButton; import javax.swing。JComboBox; import javax.swing。JFrame; import javax.swing。JLabel; import javax。swing.JTextField; import javax。swing。JOptionPane; import com.bean.Student; import com.dao。StudentDao; import com.db。DB; import com.main。DelteStudent。delAction; public class AddStuInfo extends JFrame { StudentDao studao = new StudentDao(); DB db = new DB(); Connection conn = db.getConnection(); JTextField snoText = null; JTextField snameText = null; JComboBox sexcom = null; JTextField ageText = null; JComboBox classcom = null; JComboBox departcom = null; public void init() { // 窗体设计 this.setLayout(null); this。setTitle("学生信息管理系统"); this.setSize(500, 400); JLabel title = new JLabel(”学生信息维护模块———录入数据"); title.setBounds(180, 20, 200, 30); this.add(title); JLabel snoLabel = new JLabel(”学号”); snoText = new JTextField(); snoLabel.setBounds(20, 60, 40, 25); snoText.setBounds(60, 60, 120, 25); this.add(snoLabel); this.add(snoText); JLabel snameLabel = new JLabel("姓名”); snameText = new JTextField(); snameLabel.setBounds(220, 60, 40, 25); snameText.setBounds(260, 60, 120, 25); this.add(snameLabel); this.add(snameText); JLabel sexlabel = new JLabel("性别”); String[] sex = { ”男”, "女" }; sexcom = new JComboBox(sex); sexlabel。setBounds(20, 90, 40, 25); sexcom。setBounds(60, 90, 120, 25); this。add(sexlabel); this.add(sexcom); JLabel ageLabel = new JLabel("年龄"); ageText = new JTextField(); ageLabel.setBounds(220, 90, 40, 25); ageText。setBounds(260, 90, 120, 25); this.add(ageLabel); this。add(ageText); JLabel classlabel = new JLabel(”班级"); String[] classes = { ”信息081", "信息082", ”物流081” }; classcom = new JComboBox(classes); classlabel。setBounds(20, 120, 40, 25); classcom。setBounds(60, 120, 120, 25); this。add(classlabel); this。add(classcom); JLabel departlabel = new JLabel("学院”); String[] depart = { ”造纸", ”理学院”, "机电学院” }; departcom = new JComboBox(depart); departlabel。setBounds(220, 120, 40, 25); departcom.setBounds(260, 120, 120, 25); this.add(departlabel); this。add(departcom); // 录入数据 JButton addbtn = new JButton(”录入”); addbtn。setBounds(150, 180, 60, 30); addbtn.addActionListener(new addAction()); this。add(addbtn); // 返回 JButton backbtn = new JButton(”返回"); backbtn.setBounds(230, 180, 60, 30); backbtn。addActionListener(new BackAction ()); this.add(backbtn); this.setLocationRelativeTo(null); // 使窗体居中 this。setResizable(false);// 固定窗体大小 this.setVisible(true); // 设置窗体可见 //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 窗体关闭时,程序结束 } // 获取文本框或选择框的值 public Student getStudent() { Student stu = new Student(); String sno = snoText。getText(); // 获取输入的学号 String sname = snameText。getText(); // 获取姓名 String sex = (String) sexcom。getSelectedItem();// 获取性别 int age = Integer。parseInt(ageText.getText().trim()); // 获取年龄 String className = (String) classcom.getSelectedItem(); // 获取班级 String depart- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用文档 基于 java 学生 信息管理 系统 设计 实现 实用 文档 doc
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文