基于JAVA的学生信息管理的开发与研究_第1页
基于JAVA的学生信息管理的开发与研究_第2页
基于JAVA的学生信息管理的开发与研究_第3页
基于JAVA的学生信息管理的开发与研究_第4页
基于JAVA的学生信息管理的开发与研究_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Java的学生信息管理系统的设计Design System Based on Java Students Information Management毕业设计(论文)共 41 页图纸共 0 张答辩日期摘 要随着学校规模的不断扩大,学生数量的急剧增加,有关学生的各种信息资料也成倍增长。办学者们所头疼的问题,就是如何面对这庞大的信息量。只有利用计算机,利用学生管理信息系统才能解决这一问题,才能提高学生管理的工作效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。而随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。学生管理正在逐步迈向管理信息

2、现代化。但是,我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的基本信息管理、学生的档案管理还是采用原有的人工管理方式。这就造成工作效率低、误差大,也造成了人力、物力、财力资源的浪费。如何提高管理,是当前学校管理者所面临的重要课题。在当今的时代,网络技术与计算机软件技术已经愈来愈广泛地应用到教育系统中各个方面。计算机技术在校园中的应用顺应了我国的国情,实现了教育要面向现代化,面向未来的指导思想,是学生管理走向现代化的有力武器。本系统采用Java语言实现,应用6.0版本JDK和MySql数据库,以及Java语言中常用的SSH三大框架中应用于数据访问层的Hibernate框架来实现学生信息

3、管理系统的主要功能。关键字:计算机技术;学生信息管理;Java;数据库;HibernateAbstractWith the constant expansion of school, the rapid increase of the number of students, the students various information material also increase exponentially. Schools are a headache problem, is how to face the huge amount of information. Only using a

4、 computer, use of students management information system to solve this problem, so as to improve the students management work efficiency. Through this system, can do the information management, scientific statistics and fast inquires the, so as to reduce the workload of management. With Chinas educa

5、tion system reform of education system, get the unprecedented development. Students management is gradually towards management information modernization. But in China, the student management informationization level are still in the primary stage, which is mainly embodied in the students to the basi

6、c information of the management, students still USES the archives management of the original artificial management way. This can make work efficiency is low, the error is big, also caused the human, material and financial resources waste of resources. How to improve the management school administrat

7、ors, the current is an important problem facing. In todays times, network technology and computer software technology has more and more widely applied to the education system in all aspects. The application of computer technology in campus with the situation of our country, to achieve the education

8、to modernization and the future of the guiding thought, is the student management to modern powerful weapon. The system USES Java language implementation, application version 6.0 JDK and MySql database, and Java language commonly used in the three framework and applied to the data access layer Hiber

9、nate framework to realize students information management, main functions of the system. Key words: computer technology; Students information management; Java; Database; Hibernate 目 录 TOC o 1-3 h z u HYPERLINK l _Toc296422450 0 前言 PAGEREF _Toc296422450 h 1 HYPERLINK l _Toc296422451 1 需求分析 PAGEREF _T

10、oc296422451 h 2 HYPERLINK l _Toc296422452 1.1 课题开发技术 PAGEREF _Toc296422452 h 2 HYPERLINK l _Toc296422453 1.1.1 Java PAGEREF _Toc296422453 h 2 HYPERLINK l _Toc296422454 MySql PAGEREF _Toc296422454 h 7 HYPERLINK l _Toc296422455 Hibernate PAGEREF _Toc296422455 h 7 HYPERLINK l _Toc296422456 1.2 课题实现技术的简

11、要说明 PAGEREF _Toc296422456 h 8 HYPERLINK l _Toc296422457 1.3 课题的可行性分析 PAGEREF _Toc296422457 h 8 HYPERLINK l _Toc296422458 2 功能需求分析 PAGEREF _Toc296422458 h 9 HYPERLINK l _Toc296422459 2.1 添加学生信息 PAGEREF _Toc296422459 h 9 HYPERLINK l _Toc296422460 2.2 根据学号查询学生信息 PAGEREF _Toc296422460 h 9 HYPERLINK l _T

12、oc296422461 2.3 根据姓名查询学生信息 PAGEREF _Toc296422461 h 9 HYPERLINK l _Toc296422462 2.4 删除学生信息 PAGEREF _Toc296422462 h 9 HYPERLINK l _Toc296422463 3 学生信息管理系统分析 PAGEREF _Toc296422463 h 10 HYPERLINK l _Toc296422464 3.1GUI界面分析与设计 PAGEREF _Toc296422464 h 10 HYPERLINK l _Toc296422465 JDK PAGEREF _Toc296422465

13、 h 10 HYPERLINK l _Toc296422466 GUI PAGEREF _Toc296422466 h 11 HYPERLINK l _Toc296422467 3.2 JDBC分析与设计 PAGEREF _Toc296422467 h 13 HYPERLINK l _Toc296422468 3.3 Hibernate框架 PAGEREF _Toc296422468 h 16 HYPERLINK l _Toc296422469 3.4数据库分析与设计 PAGEREF _Toc296422469 h 18 HYPERLINK l _Toc296422470 4 系统调试与测试

14、PAGEREF _Toc296422470 h 20 HYPERLINK l _Toc296422471 4.1 测试的目的 PAGEREF _Toc296422471 h 20 HYPERLINK l _Toc296422472 4.2 系统功能测试 PAGEREF _Toc296422472 h 20 HYPERLINK l _Toc296422473 5 结论 PAGEREF _Toc296422473 h 21 HYPERLINK l _Toc296422474 致 谢 PAGEREF _Toc296422474 h 22 HYPERLINK l _Toc296422475 参考文献

15、PAGEREF _Toc296422475 h 23 HYPERLINK l _Toc296422476 附录: 部分源代码 PAGEREF _Toc296422476 h 240 前言随着我国教育产业化的飞速发展,社会对教育水平和教学管理软硬件的要求日益提高,尤其是对一个学校能够具有一整套完善的教学管理软件提出了更多的要求。而实现这一功能,就要求学校管理者配备一套高效的教育管理网络系统,以便在学校内实施良好的一整套完整的管理且以最快的速递响应教师和学生的需求,及时为他们提供服务,为他们提供一个高效、便捷的环境。学生信息管理系统是校园网络中一个重要的应用系统,它大大改善了学校教学、科研与管理的

16、基础环境,在一定程度上反映出学校管理现代化的水平。为了充分实现素质教育,多方面发展学生的兴趣爱好,大部分学校都设立了全校范围的内的选修课。学生可以根据自己的兴趣和特长,选择自己喜欢的课程。由于高等学校的快速发展,高校的规模也越来越大,学生数量和课程量都迅速地增长,管理上的手工操作不仅仅会耗费学生与工作人员大量的时间和精力,效率以及准确性也很低。如何使同学们方便、快捷、准确地选课,以及老师们对学生的相关信息的管理,已经成为一个重要的问题。长期以来,人们使用系统的人工管理方式存在着许多缺点,如效率低、保密性差,这给查找、更新和维护带来了很多困难。随着科学技术的不断提高,计算机科学日渐成熟,它以进入

17、人类社会的各个领域并发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机对学校的管理系统进行管理,具有人工管理无法比拟的优点:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些能极大的提高教学管理的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。随着网络信息化的发展,对学生信息系统的要求也越来越高,我们应该在克服信息系统中存在的各种问题的前提下,更进一步的完善学生信息管理系统,发挥其强大的作用,为教师和学生提供更优质的教学和服务。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询。由于学生信息的冗长与繁琐,所

18、以它的管理问题带来的麻烦和不方便也随之而来,要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。本课题就是运用Java、MySql数据库以及Hibernate框架针对便于学生信息管理的问题而设计的一个管理系统。1 需求分析在当今的时代,网络技术与计算机技术应用范围越来越广使用计算机管理系统不仅可以简化学校传统的管理模式,使学校管理人员能够方便地利用学校内部信息对学生个人基本信息进行全面管理,对学生在校档案、学生在校情况进行全面管理。更重要的是利用计算机的技术可以使学生管理规范化。1.1 课题开发技术本课题主要运用的技术有三个Java、Mys

19、ql、Hibernate,这里主要介绍这三样技术。1.1.1 JavaJava,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface简称API)构成。Jav

20、a 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。(1) Java应用体系Sun公司在1998年发表JDK 1.2版本时,使用了新名称Java 2 Platform,即Java2平台。修改后的JDK称为Java 2 Platform Software Developing Kit,即J2SDK,并分为标准版J2SE(Standard Edition)、企业版J2EE(Enterp

21、riseEdition)和微型版J2ME(Micro Edition)。2005年6月,JavaOne大会召开,Sun公司公开Java SE 6并对各种版本更名,更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。Java SE(Java Platform,Standard Edition)它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序。Java SE包含支持Java Web服务开发的类,并为Java EE提供基础。Java EE(Java Platform,Enterprise Edition)它帮助开发和部署可移植、健壮、可伸

22、缩且安全的服务器端Java应用程序。Java EE是在Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(Service-Oriented Architecture,SOA)和Web 2.0应用程序。Java ME(Java Platform,Micro Edition)它为在移动设备和嵌入式设备(例如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的联网和离线应用程序的丰富支持。基于Java ME规范的应用程序只需编写

23、一次,就可以用于许多设备,而且可以利用每个设备的本机功能。(2) Java的工作原理Java虚拟机Java源程序不是编译成可执行文件,而是编译成字节码文件,Java虚拟机JVM可以解释和运行Java字节码文件。Java虚拟机由Java解释器和运行平台构成,它的作用类似于CPU。它负责执行指令,管理内存和存储器,因此可看成是软件模拟的计算机。Java虚拟机的“机器码”保存在.class文件中,有时也可以称为字节码文件。Java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码来运行。Java源

24、程序需要通过编译器编译成为.class文件(字节码文件)。Java程序的编译和执行过程如图1-2所示。图1-2无用内存自动回收机制在程序的执行过程中,部分内存在使用过后就处于废弃状态,如果不及时进行无用内存的回收,就会导致内存泄漏,进而导致系统崩溃。在C+语言中是由程序员进行内存回收的,程序员需要在编写程序时把不再使用的对象内存释放掉;但是这种人为的管理内存释放的方法往往由于程序员的疏忽而致使内存无法回收,同时也增加了程序员的工作量。而在Java运行环境中,始终存在着一个系统级的线程,专门跟踪内存的使用情况,定期检测出不再使用的内存,并进行自动回收,避免了内存的泄露,也减轻了程序员的工作量。代

25、码安全性检查机制字节码的执行需要经过3个步骤。首先由类装载器(Class Loader)负责把类文件(.class文件)加载到Java虚拟机中,此过程需要检验该类文件是否符合类文件规范;其次字节码校验器(Bytecode Verifier)检查该类文件的代码中是否存在某些非法操作,例如Applet程序中向本机文件系统进行写操作;如果字节码校验器检验通过,由Java解释器负责把该类文件解释成机器码执行。Java虚拟机采用的是“沙箱”运行模式,即把Java程序的代码和数据都限制在一定内存空间里执行,不允许程序访问该内存空间以外的内存,如果是Applet程序,还不允许访问客户端机器的文件系统。(3)

26、Java语言的特性Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它具有以下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。 下面重点介绍Java语言的面向对象、平台无关、分布式、多线程、可靠和安全等特性。 面向对象 面向对象是指编写程序的时候要围绕一个对象的功能进行编写,全称为Object Oriented Programming,其实也就是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程

27、语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为。程序=算法+数据;面向对象编程语言为。程序=对象+消息。面向对象和面向过程最明显的区别就是面向对象是按照要完成的功能来实现的,而面向过程是按照解决问题的步骤来实现的。在进行面向对象编程时,方法和成员变量都写在具体的对象里,并对其成员变量和方法有很好的隐蔽性;对象之间的访问都是通过其接口实现的。 面向对象都包含以下几大特性。封装,继承,多态,抽象。封装:对一件物品的描述信息是这个物品所特有的,是不能让外界看到的一些成员变量和方法。继承:发生在类与类之间,是子类共享父类成员变量和方法的

28、一种模式。多态:对象在运行期和编译期具有两种状态,多态的使用使代码具有了更多的灵活性和重要性。抽象:定义类的时候,确定了该类的一些行为和动作。平台无关性 Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种,源代码级和目标代码级。C和C+具有一定程度的源代码级平台无关,表明用C或C+写的应用程序不用修改只需重新编译就可以在不同平台上运行。Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但JVM通常是在软件上而不是在硬件上实现。JVM

29、是Java平台无关的基础,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完程序后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。另外,Java采用的是基于IEEE标准的数据类型。通过JVM保证数据类型的一致性,也确保了Java的平台无关性。 Java的平台无关性具有深远意义。首先,它使得编程人员所梦寐以求的事情(开发一次软件在任意平台上运行)变成事实,这将大大加快和促进软件产品的开发。其次Java的平台无关性正好迎合了“网络计算机”思想。如果大

30、量常用的应用软件(如字处理软件等)都用Java重新编写,并且放在某个Internet服务器上,那么具有NC的用户将不需要占用大量空间安装软件,他们只需要一个Java解释器,每当需要使用某种应用软件时,下载该软件的字节代码即可,运行结果也可以发回服务器。目前,已有数家公司开始使用这种新型的计算模式构筑自己的企业信息系统。 分布式 分布式包括数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同主机上处理。 Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。对于前者,Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相

31、同URL地址上的对象,访问方式与访问本地文件系统相同。对于后者,Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。 Java提供了一整套网络类库,开发人员可以利用类库进行网络程序设计,方便得实现Java的分布式特性。 可靠性和安全性 Java最初设计目的是应用于电子类消费产品,因此要求较高的可靠性。Java虽然源于C+,但它消除了许多C+不可靠因素,可以防止许多编程错误。首先,Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠;其次,Java不支持指针,这杜绝了内存的非法访问;第三,Java的自动单元收

32、集防止了内存丢失等动态内存分配导致的问题;第四,Java解释器运行时实施检查,可以发现数组和字符串访问的越界,最后,Java提供了异常处理机制,程序员可以把一组错误代码放在一个地方,这样可以简化错误处理任务便于恢复。 由于Java主要用于网络应用程序开发,因此对安全性有较高的要求。如果没有安全保证,用户从网络下载程序执行就非常危险。Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破

33、坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。 多线程 线程是操作系统的一种新概念,它又被称作轻量进程,是比传统进程更小的可并发执行的单位。 C和C+采用单线程体系结构,而Java却提供了多线程支持。Java在两方面支持多线程。一方面,Java环境本身就是多线程的。若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。Java提供了一个类Thread,由它负责启动运行,终止线程,并可检查线程状态。Java的线程还包括一组同步原语。这些原语负责对线程实行并发控制。利用Java的多线程编程接口,开

34、发人员可以方便得写出支持多线程的应用程序,提高程序执行效率。必须注意地是,Java的多线程支持在一定程度上受运行时支持平台的限制。例如,如果操作系统本身不支持多线程,Java的多线程特性可能就表现不出来。上述几种机制结合起来,使得Java成为安全的编程语言。 1.1.2 MySqlMySql是由Oracle公司开发的数据库,它有以下特点(1) 无范式要求,可根据实际系统需求构造数据库。 (2) 采用标准的SQL结构化查询语言。(3) 具有丰富的开发工具,覆盖开发周期的各阶段。(4) 具有第四代语言的开发工具(SQL*formS、SQL*REPORTS、SQL*MENU等)。(5) 分布优化查询

35、功能。(6)具有数据透明、网络透明,支持异种网络、异构数据库系统。并行处理采用动态数据分片技术。(7)实现了两阶段提交、多线索查询手段。 (8)支持多种系统平台(HPUX、SUNOS、OSF/1、VMS、 WINDOWS、WINDOWS/NT、OS/2)。(9)数据库内模支持多字节码制,支持多种语言文字编码。(10)具有面向制造系统的管理信息系统和财务系统应用系统。1.1.3 HibernateJava中的常用的三大框架SSH,即,表现层框架Struts,业务逻辑层框架Spring,以及数据访问层框架Hibernate。(1) Hibernate是位于持久层的一个ORM映射,是对JDBC的轻量

36、级封装。ORM映射就是使面向对象(程序)和面向关系(数据库)相互关联,并且连接并操纵数据库。(2) 核心的开发接口Configuration 用于启动Hibernate,Hibernate是个框架,是一组API,里面有很多类。而且得到连接数据库的四个信息(驱动名字,数据库连接路径,用户名,密码)和ORM映射文件。SessionFactory 由Configuration来启动是生成session的工厂,用来维护二级缓存。Session 生命周期短,维护一级缓存,它是非线程安全的,可以有多个session,并且来开启事务。(3) 事务是指一组相关的sql语句以原子的方式结合在一起,他们要么全部成

37、功要么全部失败.有以下特性: 原子性,是相关的sql的以原子的方式结合在一起 一致性,数据库当中的数据对事务当中的sql是一致的. 隔离性,事务并发时,数据的隔离 持久性,数据库的修改保存到数据库当中1.2 课题实现技术的简要说明本课题主要运用了java图形编程和MySql数据库的操作。Java图形编程给用户提供了一个直观、易于与用户进行交互的图形界面。在图形编程中,运用了大量的java.swing包中的类,之所以选择swing包中的类而不选java.awt包中的类,主要是swing包中的类能给用户提供更好的观感。MySql数据库的操作这部分内容分成三部分来实现。首先,编写对数据库操作的类,包

38、括。连接数据库、执行sql语句、关闭数据库连接等。其次,编写一个用于对学生信息进行数据库操作的类,包括,学生信息的增加、删除和查询等。通过结合图形编程和数据库编程,从而基本上实现了学生信息管理的基本功能,由于本人技术上的不足,难免有些地方需要改进,这些存在的问题都将成为本人前进的动力,并在日后更加完善本课题的设计。1.3 课题的可行性分析系统的性质为管理软件,因而数据库的设计与操纵是系统设计的核心。这里从两方面分析技术上的可行性。首先,对于Java编程部分,通过这半年学习Java的课程,本人基本上掌握了对java编程上技巧。加上闲暇时间运用了大部分时间来对图形编程的学习。因此在课题设计中,对J

39、ava图形编程方面的问题都能迎韧而解。其次,对于数据库的有关知识,本人运用了大量的时间对相关书籍的阅读以及上机实验,基本上掌握了运用MySql数据库技术,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵;因而该系统的实现在技术上是可行的。2 功能需求分析本课题根据学生信息管理综合分析,便出于方便管理考虑,将学生信息管理系统的功能总结起来,共需要实现以下几个方面功能(如图2-1所示):2.1 添加学生信息添加所有学生的基本信息,对学生信息的操作包括添加、查询、删除等;可以根据学号和姓名查询出需要的信息,然后通过对需要修改项进行修改并保存修改后的结果存入数据库的学生表中。2.2 根据学号查询学

40、生信息根据输入的学号来查询学生的基本信息,包括对学生的年龄,地址,班主任,系号等。学号唯一,查询结果只能是一个或者是空(数据库中没有需要的数据)。2.3 根据姓名查询学生信息根据输入的姓名来查询学生的基本信息,包括对学生的年龄,地址,班主任,系号等。姓名或许重复,所以查询出来或许是多个或许是一个或许是空(数据库中没有需要的数据)。2.4 删除学生信息根据输入的学生的学号进行删除,由于学号不可重复,所以在这里用学生的学号来作为学生信息表(student)的主键。学生信息管理系统文件学生管理学生查询姓名查询学号查询帮助添加学生删除学生关于退出图2-13 学生信息管理系统分析3.1 GUI界面分析与

41、设计准备工作安装JDK,MySql,以及Java的开发工具Editplus33.1.1JDK(1) 一个Java想要运行起来,首先要有它的运行环境,这里要首先设置环境变量,那么就离不开JDK。JDK全称是Java Development Kit即Java开发工具包, 是Sun公司提供的基础Java语言开发工具软件包。其中包含Java语言的编译工具、运行工具以及类库。bin目录,包含编译器、解释器和一些工具。lib目录,包含类库文件。demo目录,包含各种演示实例。include目录,包含C语言头文件,支持Java本地接口与Java虚拟机调试程序接口的本地编程技术。jre目录,包含Java虚拟机

42、、运行时的类包和Java应用启动器。sample目录,Sun配带的帮助学习者学习的Java实例。src.zip,是源码压缩文件。(2) 下载并安装JDK,这里采用的是JDK6.0版本(如图3-1所示),依次“下一步”,安装完成。默认路径是。C:Program FilesJavajdk_10(3) 设置环境变量目的就是为了让开发过程更为简捷右击“我的电脑”,选择“属性”,“高级”,“环境变量”,“新建”变量名 PATH 变量值 JDK下的bin包路径,即C:Program FilesJavajdk_10bin变量名 JAVA_HOME 变量值 JDK安装路径,即C:Program FilesJa

43、vajdk_10变量名 CLASSPATH 一般不设置,它有默认值。在这里我们自己用软配置方法定义classpath,打开文件中的run.bat即可。(4) 变量解释PATH给操作系统使用,为了让操作系统更为快捷的找到某个程序,无论Java文件身处哪个目录,都能直接找到Java命令JAVA_HOME给其他程序使用,为了让其他程序更快的找到JDKCLASSPATH给类加载器使用,为了指定加载的.class文件(5) 测试变量在cmd命令下,输入javac,回车,环境变量设置成功会得到如图3-2所示的信息若不成功的话,会提示以下信息.javac 不是内部或外部命令,也不是可运行的程序或批处理文件。

44、3.1.2GUIGUI全称是用户图形界面,Java图形编程给用户提供了一个直观、易于与用户进行交互的图形界面。在图形编程中,运用了大量的java.swing包中的类,之所以选择swing包中的类而不选java.awt包中的类,主要是swing包中的能给用户提供更好的观感。整体效果如图3-1所示,添加学生如图3-2所示,删除学生如图3-3所示,学号查询如图3-4所示,姓名查询如图3-5所示,帮助关于如图3-6所示。 图3-1 图3-2 图3-3 图3-4 图3-5 图3-6点击帮助下的关于,弹出对话框效果如下整体面板中需要用的类有Main.java MainFrame.java AddStude

45、ntPanel.javaDeleteStudentPanel.java InquireOnNamePanel.java InquireOnXHPanel.javaMainFrame_AboutBox.java一共七个类,下面分别说明这七个类的使用。Main.java类创建最底层界面,并设置主界面的窗体样式,尺寸,图标以及主方法main().MainFrame.java类创建可见界面,面板上的主要功能(文件,学生管理,学生查询,帮助)以及其子菜单(推出,添加学生,删除学生,按姓名查询,按学号查询,关于)并设置标题,样式,添加事件监听器。AddStudentPanel.java类主要设置添加学生面

46、板上的标签,文本框,以及添加按钮的事件监听器.在这里,添加学生,删除学生以及查询学生的事件监听器封装成一个方法,在DaoIfImpl类中,我们只需要创建这个类的一个对象,再使这个对象调用此类中的方法,就可以实现监听器的功能,也符合Java程序中高内聚,低耦合的特点。不过此处没有通过面板添加教室以及系表的标签文本框,所以这里先默认向01号教室添加学生,这里有待改进。DeleteStudentPanel.java类主要设置删除学生面板上的标签,文本框,以及添加按钮的实践监听器。InquireOnNamePanel.java类主要设置按姓名查询学生的标签,文本框,以及显示多行文本的区域.由于姓名可能

47、有相同的,故此需要按条而列。InquireOnXHPanel.java类主要设置按学号查询学生的标签,文本框,以及显示区域.这里由于学号是唯一的,所以查出来的只能有一条数据,或者是没有数据。MainFrame_AboutBox.java类主要显示本系统的说明信息以及文字的大小,字体等等。3.2 JDBC分析与设计JDBC全称为Java DateBase Connectity,java与数据库的连接.使用JDBC可以将java的前台程序与数据库连接起来. JDBC提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开

48、发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序.(1) 相关接口DriverManager类管理不同数据库的驱动程序 Driver,用于注册数据库驱动.以及获得数据库的连接对象,DriverManger.getConnection(url,name,password)。Driver接口Driver是连不上数据库的,只有实现 Driver接口的具体实现类才能连接上数据库,也只有 Driver是个接口才能实现使用通用的 JDBC API来访问不同的数据库。Connection接口用于打开应用程序与数据库之间的连接通道,具

49、体如何打开通道则由各数据库厂商提供实现,即 Connection接口的实现类来完成.Statement接口应用程序利用 Statement向数据库发送 SQL语句,用于发送静态 SQL语句,一次性写死完整的 SQL语句.ResultSet接口利用 ResultSet把 select查询结果返回给应用程序,把查询结封装到 ResultSet中.(2) JDBC中的五个步骤注册驱动;获得连接;创建执行sql的statement对象;执行SQL语句;处理结果集;关闭资源。注册驱动,通常注册驱动的方式有四种第一种:JDBC-ODBC驱动对于早期java没有实现所有数据库厂商都为它开发出一套驱动,这个时

50、候就用到了微软的ODBC,是sun公司提供的,是jdk提供的的标准api. 这种类型的驱动实际是把所有 jdbc的调用传递给odbc ,再由odbc调用本地数据库驱动代码.( 本地数据库驱动代码是指 由数据库厂商提供的数据库操作二进制代码库,例如在oracle for windows中就是oci dll 文 件).只要本地机装有相关的odbc驱动那么采用jdbc-odbc桥几乎可以访问所有的数据库,jdbc- odbc方法对于客户端已经具备odbc driver的应用还是可行的.但是,由于jdbc-odbc先调用 odbc再由odbc去调用本地数据库接口访问数据库.所以,执行效率比较低,对于那

51、些大数据量存取的应用是不适合的.而且,这种方法要求客户端必须安装odbc 驱动,所以对于基于 internet ,internet的应用也是不合适的.因为,你不可能要求所有客户都能找到odbc driver.第二种:本地api驱动就是讲api转化成dbms指定的代码,这样效率很高。但是很危险的,不能移植,加载困难。这里危险在java和c语言在强制转换的数据类型问题。字符的占位不同很可能使程序崩溃.它直接把jdbc调用转变为数据库的标准调用再去访问数据库.这种方法需要本地数据库驱动代码.本地api驱动|厂商DB代码数据库Server这种驱动比起jdbc-odbc桥执行效率大大提高了.但是,它仍然

52、需要在客户端加载数据库厂商 提供的代码库.这样就不适合基于internet的应用.并且,他的执行效率比起3,4型的jdbc驱动 还是不够高.第三种:JDBC网络纯java驱动这就是在客户端和数据库之间建立一个翻译中心。这样的好处是可以用很多很多不同厂商的数据库。但是这个也不常用,因为一个公司不会这样用很多种数据库. 网络协议驱动 这种驱动实际上是根据我们熟悉的三层结构建立的. jdbc先把对数局库的访问请求传递给网络上的中间件服务器. 中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用 传给数据库服务器.如果中间件服务器也是用java开法的,那么在在中间层也可以使用1,2型 jdbc

53、驱动程序作为访问数据库的方法. 网络协议驱动-中间件服务器数据库Server .由于这种驱动是基于server的.所以,它不需要在客户端加载数据库厂商提供的代码库.而且 他在执行效率和可升级性方面是比较好的.因为大部分功能实现都在server端,所以这种驱动 可以设计的很小,可以非常快速的加载到内存中. 但是,这种驱动在中间件层仍然需要有配置 其它数据库驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好.第四种:本地协议纯java驱动直接把jdbc调用转换为符合相关数据库系统规范的请求.由于4型驱动写的应用可 以直接和数据库服务器通讯.这种类型的驱动完全由java实现,因此实现了

54、平台独立性. 本地协议驱动数据库Server .由于这种驱动不需要先把jdbc的调用传给odbc或本地数据库接口或者是中间层服务器.所 以它的执行效率是非常高的.而且,它根本不需要在客户端或服务器端装载任何的软件或驱动. 这种驱动程序可以动态的被下载.但是对于不同的数据库需要下载不同的驱动程序.由于现在是纯java开发,这里使用的是第四种驱动,本地协议纯java驱动.下载mysql的驱动包mysql.jar,包中有驱动名字com.mysql.jdbc.Driver.class. 获得连接,一般的获得连接的最简单的方式是Class.forName(“”);return DriverManager

55、.getConnection(url,username,password);驱动:com.mysql.jdbc.Driver(新)URL: jdbc:mysql:/dbname 即jdbc:mysql:/localhost:3306/usermachine_name:数据库所在的机器的名称;port:端口号,默认3306 创建statement对象由获得连接的对象con来获得Statement sta = con.createStatement(); 执行SQL语句 ResultSet rs = sta.execute(“”); 处理结果集rs.getXXX; 关闭资源 con.close()

56、;3.3 Hibernate框架前面说过Hibernate是对JDBC的轻量级的封装,而且实现了数据持久化的目标,获得相应的事务,对于一些系统故障等的操作也能顺利完成.Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库.Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任.JDBC与Hibernate最大的不

57、同点就是Hibernate实现了数据持久化,如图3-7所示可以看出JDBC持久化对象和Hibernate持久化对象的不同.图3-7Hibernate的步骤与JDBC类似,只不过所需要的接口不同.连接数据库需要先配置数据库信息文件,默认文件名是hibernate.cfg.xml,里面有用于连接数据库的信息驱动名字,路径,用户名,密码,以及数据库所对应的实体类.Session相当于connection,而为了获得session,则需要从session工厂中创建得到.而session工厂就可以读取到hibernate.cfg.xml文件中相应的信息,用于创建一个指定的session.工厂会默认读取h

58、ibernate.cfg.xml文件.得到session工厂之后,就可以执行SQL语句,这里不用我们直接写SQL语句,session中的save()方法,delete()方法等等可以实现执行SQL语句的功能.在session调用这些方法之前需要有一个实体类,并且有文本框中得到的对象来设置实体类的各项属性,然后通过这些方法保存到数据库中.Student.java,Classroom.java,Department.java 这三个实体类如何跟数据库中的表进行关联,而且数据库中的表如何进行关联,此时就需要用到以下文件:Student.hbm.xml用于说明跟数据库中的表student进行关联Cla

59、ssroom.hbm.xml用于说明跟数据库中的表classroom进行关联Department.hbm.xml用户说明跟数据库中的表department进行关联Student.hbm.xml 通过此配置文件的信息就可以向程序说明类所对应的表,以及类的属性所对应的表中的列,而且更能把数据库中表的关联关系向程序说明.数据库代码的实现需要首先定义一个接口,里面有几种方法,然后再写一个类,用于遵循此接口以实现这些方法.这里定义了DaoIf接口,里面按照所需要的功能定义了四个方法public interface DaoIf public boolean addObject(Object obj);pu

60、blic boolean deleteById(Class cls,int id);public Student getById(Class cls,int id);public List getByName(String name); 定义实现这些方法的类,DaoIfImpl.java,代码见附录.由此四个方法,在界面的事件监听器中调用这次方法,可以实现学生信息管理系统的主要功能.3.4 数据库分析与设计而在MySql数据库中,首先创建数据库:create database etoak;use etoak;创建系表department;mysql create table departmen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论