JAVA课程设计,基于mysql的学生信息管理系统
- 格式:doc
- 大小:534.50 KB
- 文档页数:42
java学生信息管理系统课程设计一、课程目标知识目标:1. 理解Java面向对象编程的基本概念,掌握类与对象的关系、封装、继承和多态性;2. 学会使用Java集合框架管理学生信息,掌握ArrayList、HashMap等常用集合类的使用方法;3. 掌握Java异常处理机制,提高程序的健壮性;4. 理解数据库基本概念,学会使用SQLite数据库存储和管理学生信息。
技能目标:1. 能够运用面向对象思想设计学生信息管理系统,实现学生信息的增删改查功能;2. 能够使用Java集合框架对学生信息进行有效管理;3. 能够编写简单的数据库操作语句,实现对学生信息的数据存储和查询;4. 能够运用所学知识解决实际问题,具备一定的编程实践能力。
情感态度价值观目标:1. 培养学生团队协作精神,提高沟通与协作能力;2. 增强学生编程兴趣,激发创新意识,培养探索精神;3. 培养学生良好的编程习惯,注重代码规范和程序优化;4. 培养学生严谨的学习态度,面对问题敢于挑战,勇于克服困难。
课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的编程能力和实际应用能力。
学生特点:学生具备一定的Java基础,了解面向对象编程概念,但对实际项目开发经验不足。
教学要求:结合学生特点和课程性质,采用项目驱动教学法,引导学生自主探究,注重实践操作,提高学生的编程能力和解决问题的能力。
同时,关注学生的情感态度价值观培养,提高学生的综合素质。
通过本课程的学习,使学生能够独立完成一个简单的学生信息管理系统,为后续学习打下坚实基础。
二、教学内容1. 面向对象编程基础- 类与对象的关系- 封装、继承和多态性- 抽象类和接口2. Java集合框架- ArrayList、LinkedList、HashSet、HashMap等常用集合类- 集合类的使用场景和性能分析3. Java异常处理- 异常分类和异常处理机制- try-catch-finally结构- 自定义异常4. 数据库基础- 数据库概念和SQLite数据库- 数据表的设计与创建- SQL语句:增删改查操作5. 学生信息管理系统功能模块- 系统需求分析- 功能模块划分:学生信息管理、成绩管理、课程管理等- 编程实现各模块功能6. 项目实践与拓展- 系统测试与调试- 代码优化与重构- 项目拓展:增加用户权限管理、数据可视化等教学内容安排与进度:第一周:面向对象编程基础第二周:Java集合框架第三周:Java异常处理第四周:数据库基础第五周:学生信息管理系统功能模块设计第六周:项目实践与拓展教材关联:本教学内容与《Java程序设计》教材相关章节紧密关联,涵盖了面向对象编程、Java集合框架、异常处理和数据库基础等知识点。
JavaEE课程设计(学生信息管理系统)1000字学生信息管理系统是一种面向学生信息管理的软件系统,实现了对学生基本信息、课程信息、考试信息、成绩信息等的录入、查询、修改和删除等功能。
本课程设计主要实现了以下功能:1. 登录和注册功能学生和管理员均需要先进行登录才能使用系统,管理员可以对学生信息进行管理。
注册时需要填写基本信息,包括学号、姓名、学院等。
2. 学生基本信息管理学生基本信息包括学号、姓名、年龄、性别、出生日期、籍贯、班级、专业等。
管理员可以对学生基本信息进行添加、修改、查询和删除等操作。
3. 课程信息管理课程信息包括课程编号、课程名称、课程类型、教师名字等。
管理员可以对课程信息进行添加、修改、查询和删除等操作。
4. 考试信息管理考试信息包括考试名称、考试时间、考试地点等。
管理员可以对考试信息进行添加、修改、查询和删除等操作。
5. 成绩信息管理成绩信息包括学生学号、课程编号、考试名称、成绩等。
管理员可以对成绩信息进行添加、修改、查询和删除等操作。
6. 统计功能系统可以根据学院、专业、年龄等不同条件进行统计查询,可以得到对应结果的统计图表。
在实现以上功能中,我们使用了Java EE的相关技术,包括Java Servlet、JSP、JavaBean、数据库等。
其中Servlet负责接受用户请求,处理请求并返回相应结果,JSP用于实现用户界面,JavaBean实现数据操作,并将数据返回给JSP。
我们将数据存储在MySQL数据库中,使用JDBC进行连接和操作。
此外,我们还使用了Bootstrap实现了网页的美化和响应式设计,方便了不同尺寸的设备的访问使用。
总的来说,本课程设计实现了学生信息管理系统的基本功能,并对系统进行了优化和美化,具有实用性和可操作性。
JAVA 程序设计 课程设计陈述宇文皓月课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:目 录1、需要实现的功能32、设计目的3 1、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包含:学号、姓名、年龄、出生地、专业、班级总学分,在拔出时,如果数据库已经存在该学号,则不克不及再拔出该学号。
1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
评阅意见:评定成绩:指导老师签名:年 月 日1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。
1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
1.5、用户登陆用分歧的登录权限可以进入分歧的后台界面,从而实现权限操纵。
1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不成缺少的部分。
一个功能齐全、简单易用的信息管理系统不单能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将发生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。
随着科学技术的不竭提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。
例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
课设名称:学生成绩管理系统院(系):姓名:学号:年级:专业班级:指导教师:时间: 2012年6月目录第一部分摘要 (3)第二部分目的背景与意义 (4)第三部分需求分析 (4)第四部分系统设计 (4)4.1 结构设计 (4)4。
2 功能结构图 (5)4。
3 功能流程以及工作流描述 (6)第五部分数据库的设计 (6)5.1数据库设计 (6)5。
2数据表的设计 (7)第六部分详细设计 (8)6。
1 学生管理系统主界面模块 (8)6.2 学生信息管理模块 (9)6。
3 课程信息管理模块 (11)6.4 查询模块 (12)图6.5 数据库操作模块 (13)第七部分课程设计心得 (13)第八部分附录(按名称排序) (14)第一部分摘要该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要.本文介绍了学生信息管理系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程。
在开发方法上本系统利用了软件工程化的思想和方法,总体上采用结构化生命周期开发方法,具体模块实施采用了原型法和面向对象系统开发方法。
并采用JAVA作为开发工具,mysql作为后台数据库。
本系统具有学生管理、课程管理、成绩管理、信息查询等功能,分成四大模块,每个模块都相互联系,但不相互干扰,这符合了软件模块开发的思想。
本系统完成了学生信息的增加、修改、删除、查询和选课,课程信息的增加、修改、删除、查询,成绩的添加、修改、查询等功能.【关键字】:信息管理系统、模块设计、软件工程。
基于mysql的学生成绩管理系统的设计与实现1. 引言1.1 概述在现代教育系统中,学生成绩的管理是非常重要且必不可少的一项工作。
为了实现高效、准确地管理学生成绩信息,本篇文章设计并实现了一个基于MySQL的学生成绩管理系统。
1.2 文章结构本文将分为五个主要部分来介绍该学生成绩管理系统的设计与实现。
首先,引言部分将提供对整个文章内容的概述和总体结构。
其次,系统需求分析模块将详细讨论用户需求、功能需求和数据需求。
接下来,数据库设计与建模模块将介绍实体-关系模型(ERM)设计、数据表设计与规范化以及数据库安全性与权限控制设计。
然后,在系统功能实现与开发过程介绍模块中,我们会深入探讨前端界面设计与开发过程、后端逻辑处理与数据库操作实现技术选型以及系统测试与调试过程描述。
最后,在结论和展望模块中,我们将总结本文所介绍的学生成绩管理系统并展望未来可能的优化和扩展方向。
1.3 目的本文旨在通过对基于MySQL的学生成绩管理系统进行全面而详细的设计与实现,帮助读者更好地理解和掌握学生成绩管理系统的开发过程和关键技术。
通过本文,读者将了解到学生信息管理、成绩录入和查询功能的实现方法,以及数据库设计与优化的要点。
同时,本文还将对未来学生管理系统的扩展和优化提出建议和展望,以帮助读者在实际应用中更好地运用该系统并满足不断变化的需求。
2. 系统需求分析2.1 用户需求在学生成绩管理系统的设计与实现过程中,我们需要了解用户的需求,以便为其提供满足其期望的功能和特性。
通过调研和访谈,我们确定了以下用户需求:1. 学生管理功能:学生能够登录系统并查看自己的个人信息、课程成绩以及绩点等相关信息。
2. 教师管理功能:教师能够登录系统,并能够录入学生成绩、查询学生成绩、修改学生成绩等操作。
3. 管理员管理功能:管理员具有最高权限,能够对学生信息进行增删改查以及对系统进行配置和设置。
4. 数据统计与报表分析功能:系统能够根据各类指标统计学生成绩情况,生成相应的报表供相关人员参考分析。
mysql《学生管理系统》课程管理模块学生管理系统课程管理模块一、课程管理模块概述课程管理模块是《学生管理系统》中的一个重要组成部分,主要用于对学生选课、课程安排、成绩录入等功能进行管理。
通过课程管理模块,管理员可以方便地添加、删除、修改课程信息,并对学生选课情况进行实时监控和调整。
同时,学生也可以通过该模块查看课程安排、选课以及查询自己的成绩。
二、课程管理模块功能1.课程信息管理:管理员可以通过该模块添加、删除、修改课程信息,包括课程名称、学分、教师等信息。
这些信息将作为学生选课的依据,并在成绩录入时作为课程识别的重要标识。
2.学生选课管理:学生可以通过该模块查看课程安排,并根据自己的兴趣和需求进行选课。
在选课过程中,系统会根据学生的专业、年级等因素进行筛选,确保学生选择的课程与自身实际情况相符合。
3.成绩录入管理:教师可以通过该模块录入学生成绩,并对成绩进行管理。
成绩录入时,系统会自动关联对应的课程信息,确保成绩录入的准确性和完整性。
同时,系统还会对学生成绩进行统计和分析,为教学评估提供数据支持。
4.课程调整管理:管理员可以通过该模块对学生选课情况进行实时监控和调整。
当出现选课人数不足或课程安排不合理等情况时,管理员可以及时进行调整,确保课程的正常进行。
三、课程管理模块使用流程1.管理员登录系统后,进入课程管理模块;2.根据需求选择相应的功能,如添加课程信息、查看学生选课情况等;3.按照系统提示进行操作,完成相应任务;4.保存并提交数据,完成操作。
四、课程管理模块特点1.操作简单:课程管理模块界面简洁明了,操作流程简单易懂,方便管理员和学生使用。
2.功能齐全:该模块涵盖了课程信息管理、学生选课管理、成绩录入管理和课程调整管理等全方位的功能,满足用户多样化需求。
3.实时监控:管理员可以实时监控学生选课情况,及时了解课程安排的合理性和学生选课的满意度,以便进行相应的调整和管理。
学生成绩在线管理系统数据库课程设计mysql+java以下是一个学生成绩在线管理系统的数据库设计示例,使用MySQL数据库和Java 编程语言:1. 学生表(students)-学生ID(student_id):主键,自增-学生姓名(student_name):varchar类型,最大长度为50-学生年龄(student_age):整数类型-学生性别(student_gender):varchar类型,最大长度为10-学生班级(student_class):varchar类型,最大长度为502. 课程表(courses)-课程ID(course_id):主键,自增-课程名称(course_name):varchar类型,最大长度为503. 成绩表(scores)-成绩ID(score_id):主键,自增-学生ID(student_id):外键,关联到学生表的学生ID-课程ID(course_id):外键,关联到课程表的课程ID-分数(score):浮点数类型通过以上表的设计,你可以实现以下功能:-添加学生信息-添加课程信息-添加学生成绩-查询学生信息-查询课程信息-查询学生的成绩-更新学生信息-更新课程信息-更新学生成绩-删除学生信息-删除课程信息-删除学生成绩在Java中,你可以使用JDBC(Java Database Connectivity)来连接MySQL数据库并执行SQL语句来实现对数据库的操作。
你需要配置数据库连接信息,并编写相应的Java代码来执行查询和更新操作。
这只是一个简单的数据库设计示例,你可以根据你的具体需求进行调整和扩展。
mysql课程设计案例
以下是一个简单的MySQL课程设计案例,用于帮助学生了解数据库设计和MySQL的基本操作。
项目名称:学生信息管理系统
项目目标:
1. 创建一个学生信息管理系统,能够存储和管理学生信息。
2. 实现对学生信息的增删改查操作。
3. 保证数据的安全性和完整性。
项目内容:
1. 设计数据库表结构,包括学生表、课程表和成绩表。
2. 实现学生信息的增删改查操作,包括添加学生信息、查询学生信息、修改学生信息和删除学生信息。
3. 实现课程信息的增删改查操作,包括添加课程信息、查询课程信息、修改课程信息和删除课程信息。
4. 实现成绩信息的录入和查询操作。
5. 保证数据的安全性和完整性,包括设置合适的字段属性、设置外键约束等。
技术要求:
1. 使用MySQL数据库进行数据存储和管理。
2. 使用PHP编写服务器端代码,实现与数据库的交互。
3. 使用HTML和CSS进行前端页面设计。
4. 使用JavaScript进行表单验证和动态交互。
项目步骤:
1. 创建数据库和数据表,包括学生表、课程表和成绩表。
2. 编写PHP代码,实现与数据库的连接和操作。
3. 编写前端页面,包括学生信息管理页面、课程信息管理页面和成绩信息管理页面。
4. 在前端页面中添加表单,用于输入和修改数据。
5. 在前端页面中添加JavaScript代码,用于表单验证和动态交互。
6. 进行测试和调试,确保系统功能正常、安全可靠。
7. 上交项目文档,包括数据库表结构、PHP代码、前端页面和测试报告等。
数据库学生信息管理系统实验报告一、实验目的本次实验的目的是设计并实现一个基于数据库的学生信息管理系统,通过该系统可以对学生的基本信息进行增删改查等操作,方便高效地管理学生信息。
二、实验内容1. 创建数据库:首先,在MySQL中创建一个名为"student_info"的数据库,用于存储学生信息的表。
2. 创建表结构:在数据库中创建一个名为"student"的表,用于存储学生的基本信息,包括学号、姓名、性别、年龄、班级等字段。
3. 实现增加学生信息的功能:设计一个界面,在界面上输入学生的基本信息,然后将这些信息插入到数据库的"student"表中。
4. 实现删除学生信息的功能:设计一个界面,在界面上输入要删除的学生的学号,然后根据学号将该学生的信息从数据库的"student"表中删除。
5. 实现修改学生信息的功能:设计一个界面,在界面上输入要修改的学生的学号和需要修改的字段信息,然后根据学号将该学生的相应字段信息更新到数据库的"student"表中。
6. 实现查询学生信息的功能:设计一个界面,在界面上输入要查询的学生的学号,然后根据学号从数据库的"student"表中查询相应学生的信息并显示在界面上。
三、实验过程1. 创建数据库:在MySQL中执行以下指令创建名为"student_info"的数据库:CREATE DATABASE student_info;2. 创建表结构:在"student_info"数据库中执行以下指令创建名为"student"的表:CREATE TABLE studentid INT PRIMARY KEY AUTO_INCREMENT,student_id VARCHAR(20) NOT NULL,name VARCHAR(20) NOT NULL,gender VARCHAR(4) NOT NULL,age INT NOT NULL,class VARCHAR(20) NOT NULL3. 实现增加学生信息的功能:使用Java编写一个程序,通过JDBC 连接到MySQL数据库,然后通过用户界面输入学生的基本信息,将这些信息插入到"student"表中。
总结16一、课题介绍课题介绍 ...................................... ...................................... 3二、目的和要求目的和要求 ................................... ................................... 3三、任务计划任务计划 ...................................... .. (3)需求分析需求分析 (5)一、学生管理系统的发展现状学生管理系统的发展现状 ................................ ................................ 5二、系统功能分析系统功能分析 ................................... .. (5)三、系统结构框图系统结构框图 ................................... .. (5)数据库设计.........................................创建数据表的结构创建数据表的结构 ................................. (7)各表功能及其关系各表功能及其关系 ................................. (7)系统模块功能的实现与界面设计 (8)一、系统主要模块系统主要模块 ................................... ................................... 8二、欢迎界面欢迎界面 ..................................... ..................................... 9三、主菜单界面主菜单界面 ............................ ............................ 错误!未定义书签。
基于java的学生信息管理系统毕业设计下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!基于Java的学生信息管理系统毕业设计一、引言随着信息技术的发展,学生信息管理系统在学校教务管理中扮演着越来越重要的角色。
JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。
并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。
五、实验任务设计学生信息管理系统。
要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。
而普通用户只可以查找学生信息。
2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。
六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。
学生管理系统 java 开题报告学生管理系统 Java 开题报告一、引言学生管理系统是一种用于学校或教育机构管理学生信息、课程安排和成绩记录的软件系统。
本文将介绍一个基于 Java 开发的学生管理系统,并提供该系统的设计思路和功能模块。
二、系统概述学生管理系统是为了方便学校管理学生信息和课程安排而开发的软件系统。
该系统主要包括学生信息管理、课程管理、成绩管理和报表生成等功能模块。
通过该系统,学校可以高效地管理学生信息,方便教师进行课程安排和成绩记录,提高学校的管理水平和工作效率。
三、系统设计思路1. 技术选型本系统采用 Java 作为开发语言,使用 MySQL 数据库进行数据存储。
Java 是一种跨平台的编程语言,具有良好的可移植性和扩展性,适合用于开发学生管理系统这样的大型软件系统。
2. 系统架构学生管理系统采用三层架构,分为表现层、业务逻辑层和数据访问层。
表现层负责与用户交互,接收用户的输入和显示系统的输出;业务逻辑层负责处理用户的请求,进行业务逻辑的处理;数据访问层负责与数据库进行交互,进行数据的读写操作。
3. 功能模块学生管理系统主要包括以下功能模块:- 学生信息管理:包括学生基本信息的录入、查询、修改和删除等操作。
- 课程管理:包括课程信息的录入、查询、修改和删除等操作。
- 成绩管理:包括学生成绩的录入、查询、修改和删除等操作。
- 报表生成:根据学生的成绩和课程信息生成各类统计报表,方便学校进行数据分析和决策。
四、系统功能详述1. 学生信息管理学生信息管理模块主要包括学生基本信息的录入、查询、修改和删除等功能。
教师可以通过该模块添加新的学生信息,包括学生姓名、学号、性别、年龄等。
同时,教师也可以查询和修改学生信息,以及删除不需要的学生记录。
2. 课程管理课程管理模块主要包括课程信息的录入、查询、修改和删除等功能。
教师可以通过该模块添加新的课程信息,包括课程名称、课程编号、授课教师等。
同时,教师也可以查询和修改课程信息,以及删除不需要的课程记录。
课程设计报告课程名称《JAVAWEB程序设计》课题名称学生信息管理系统专业计算机科学与技术班级学号学号指导教师年月日湖南工程学院课程设计任务书课程名称《JAVAWEB程序设计》课题学生信息管理系统专业班级学生姓名学号指导老师审批任务书下达日期任务完成日期目录一.设计说明 (1)1.功能结构 (1)2. 数据库设计.................. 错误!未定义书签。
二.功能实现 (2)1.系统主界面 (2)2. 添加学生信息 (2)3. 查看学生信息 (2)4. 修改学生信息 (2)三.心得体会 (3)四.附录 (4)1. 源代码 (4)1)Index.jsp (4)2)addStudent.jsp (7)3)updateStudent.jsp (8)4)viewStudent.jsp (10)5)Student.java (11)6)StudentManager.java (13)7)StudentServlet.java (16)8)Web.xml (18)五.评分表 (20)一.设计说明1.功能结构图1-12.数据库设计图1-2学生信息管理系统 学生录入信息功能 查询学生信息功能 删除学生信息功能修改学生信息功能二.功能实现1.系统主界面图2-1 2.添加学生信息图2-2 3.查看学生信息图2-3 4.修改学生信息图2-4三.心得体会经过一个星期的课程设计,收获颇多。
也明白了自己在java语言上自己存在的一些问题,也解决了一些一直困恼我的问题。
以前自己觉得程序很简单,不放在心上。
经过课程设计才使我明白做程序需要的东西是很多的,你既要懂程序而且还要有耐心和恒心。
课程设计是对我的一次全面的测试,它既锻炼了我的动手的能力也磨练了我的心理素质。
设计这个系统,我们复习巩固java语言的基础知识,进一步加深对java 语言编程的理解和掌握。
了解深入java语言编程的方法和环境。
利用所学知识,把理论和实际结合,利用资源,采用模块化的结构,学会使用模仿、修改、自主设计相结合的方法。
最后的结果是这个画面,过于简略,也是限于时间和能力了。
前言由于二妹前一阵子要写一个简易的学生信息管理系统做毕业设计,要求我用MySQL数据库、Java和Eclipse替她写个小程序交。
这个文档是为了记录一个过程,供有需要的java 学习者学习和参考。
1,安装虚拟机VMware12(为了安装win10系统)2,安装windows10系统(妹子的笔记本系统是win10)3,安装Java【jdk1.8.0_91和jre1.8.0_91】4,安装4.0.exe插件(不安装,MySQL软件会报错)5,安装MySQL 5.7.126,安装Navicat11.0.9企业版用于图形化开发MySQL7,安装MyEclipse 2016 CI和mysql-connector-java-5.1.39.zip插件8,程序开发,利用MyEclipse 2016 CI,java编程,并连接MySQL数据库。
1安装虚拟机VM122在虚拟机中,安装windows10_x64系统企业版启用共享文件夹功能,方便主机硬盘里面的文件能够在虚拟机系统里面直接使用,不必复制到虚拟机硬盘里面。
3,安装Java【jdk-8u91-windows-x64.exe】在虚拟机系统win10里面安装和配置java环境变量。
配置环境变量:-->此电脑,右击,属性-->高级系统设置-->环境变量-->系统变量-->找到Path,编辑如下图,添加jdk和jre的bin目录路径,最前添加.;测试java环境配置:按住Windows键+R键,运行cmd命令,输入java和javac,按回车键出现下面这两个图片的就成功了4,4.0组件安装组件在网上下载安装,再安装MySQL,就不会报错。
5,安装mysql-installer-community-5.7.12.0.msi选择只安装MySQL服务器,其他组件不需要。
配置,选择Server Machine,剩下的都默认密码:lindejun开始菜单,找到安装的MySQL菜单。
学生信息管理系统java课程设计代码学生信息管理系统Java课程设计代码一、引言学生信息管理系统是一种方便、高效的信息管理工具,可以帮助学校或教育机构管理学生的个人信息、学籍信息等。
本文将介绍一个基于Java语言的学生信息管理系统的设计代码。
二、系统设计1. 需求分析学生信息管理系统需要满足以下需求:- 学生信息的录入、修改和删除- 学生信息的查询和显示- 学生成绩的录入、修改和查询- 学生课表的查询和显示- 学生考勤情况的记录和查询2. 数据库设计系统需要设计学生信息、学生成绩、课程表和考勤情况等相关数据库表。
每个表需要定义相应的字段,如学生姓名、学号、性别、年龄等。
3. 界面设计系统需要设计用户友好的界面,方便用户进行操作。
可以使用JavaSwing等图形界面库进行开发,界面要清晰、美观,并提供相应的按钮和输入框供用户使用。
4. 功能实现系统的功能实现需要编写相应的Java代码。
可以使用面向对象的编程思想,将学生、成绩、课程表和考勤等信息封装成对象,通过调用对象的方法来完成相应的操作。
5. 数据库连接系统需要与数据库进行连接,使用Java JDBC等技术来实现数据库的增删改查操作。
可以使用MySQL等关系型数据库管理系统。
6. 用户权限管理系统可以设计管理员和普通用户两种角色,管理员具有录入、修改和删除学生信息的权限,普通用户只能查询和显示学生信息。
三、代码实现以下是一个简单的学生信息管理系统的Java代码示例:```javaimport java.sql.*;import javax.swing.*;public class StudentManagementSystem {// 数据库连接信息private static final String URL = "jdbc:mysql://localhost:3306/student_db";private static final String USERNAME = "root";private static final String PASSWORD = "123456";public static void main(String[] args) {// 连接数据库Connection conn = null;try {conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);} catch (SQLException e) {e.printStackTrace();JOptionPane.showMessageDialog(null, "数据库连接失败!");System.exit(0);}// 界面初始化JFrame frame = new JFrame("学生信息管理系统");frame.setSize(800, 600);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 添加组件JPanel panel = new JPanel();JLabel label = new JLabel("学生信息管理系统");panel.add(label);frame.add(panel);// 显示界面frame.setVisible(true);}}```四、总结通过以上的代码示例,我们可以看到一个简单的学生信息管理系统的实现框架。
科技大学数据库课程设计报告系院应用科学学院年级2013级专业信息与计算科学131802学号 4学生姓名XXXXXX指导教师XX XXXXXX课程设计(论文)题目科技大学学生管理系统目录第一章绪论11.1 研究的背景及意义11.1.1 选题的背景11.1.2 研究的意义11.2 系统目标21.3 应用技术21.3.1 Servlet技术21.3.2 JSP技术31.3.3 JDBC31.3.4 MySQL31.3.5 myEclipse41.3.6 Tomcat41.3.7 JSTL标签41.3.8XML4第二章需求分析62.1 功能需求62.1.1 系统模块分解62.1.2 功能需求描述6- .2.2 非功能需求82.2.1 性能需求82.2.2 其它需求9第三章总体设计113.1 运行环境113.2模块结构12第四章数据库设计144.1 概念结构设计144.1.1 设计思路144.1.2 E-R图144.2 逻辑结构设计174.2.1设计思路174.3 物理结构设计174.3.1 存取方式174.3.2 存储结构18第五章界面设计215.1 界面关系图215.2 界面设计成果225.2.1 登录界面225.2.2 功能菜单界面24第六章详细设计316.1 登录注册设计276.1.1 算法描述276.1.2 程序流程图276. 1.3 关键类说明286.2 用户管理设计286.2.1 程序流程图286.2.2 关键类说明29第七章编码307.1 部分核心代码307.1.1 用JDBC连接JAVA web和数据库307.1.2 登录注册、页面管理397.2 代码优化和开发需知事项40第七章总结41参考文献42第一章绪论1.1 研究的背景及意义1.1.1 选题的背景随着教育事业的不断发展,学校的规模不断扩大,学生数量及其信息量的急剧增加,有关学生的各种信息处理也随之展开。
学生管理信息系统应运而生了,它可用来管理学生信息与提高系统管理工作的效率。
课程实践任务书信息技术的快速发展的同时也带来了社会各个行业的发展。
它的发展已经深入到社会的各个角落。
作为社会发展的前沿技术,各行各业只要对其合理的进行运用,必将会带来巨大的便捷。
成功的运用信息技术将为各类学校学生信息管理带来无限便利。
作为计算机应用的一部分,使用学生信息管理系统对学生档案进行管理,有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,大地提高学生档案管理的效率。
本文介绍了系统开发的全过程。
该系统以Windows为操作平台,Java为开发语言,Access为数据库,Eclipse为开发工具,使用JDBC技术进行连接,实现了在可视化的基础上,利用数据库进行后台管理。
系统由学生和老师基本信息添加、学生和老师基本信息查询、学生和老师基本信息删除、学生和老师基本信息修改及退出系统等功能模块组成,基本功能较全面。
用户界面友好、清晰、操作简便,易学易用;系统可读性好,易于维护、更新,安全性较好。
采用传统下拉菜单功能选择,方便、快捷、一目了然,并且在一个窗体中进行操作,可视化强。
采用链入数据库进行存储,可动态进行查看、操作,这样的系统可修改性较强。
关键字:面向对象;Eclipse;JDBC1 前言 (1)1.1 课题简介 (1)1.2 设计目的 (1)2 需求分析 (2)2.1业务需求分析 (2)2.2功能需求分析 (2)2.2.1 学生信息 (2)2.2.2 教师信息 (2)2.2.3 成绩管理 (3)3 数据库设计 (4)3.1 Java连接数据库 (4)3.1.1 关系数据库概述 (4)3.1.2 通过JDBC访问数据库 (4)3.2 数据库与基本表设计 (4)4 系统设计与实施 (7)4.1 Eclipse Java Neon 3 (7)4.2 结构设计 (7)4.3 文件组织结构 (7)4.4 登录模块 (8)4.4.1 设计构想 (8)4.4.2 实现登录模块 (8)4.5 学生信息模块 (11)4.5.1 设计构想 (11)4.5.2 实现学生信息模块主界面 (11)4.5.3添加信息 (12)4.5.4 删除信息 (14)4.5.5修改信息 (15)4.5.6 基本信息查询 (17)4.5.7 成绩查询 (19)4.5.8 退出系统 (21)4.6 教师信息模块 (22)结束语 (26)参考文献 (27)附录A............................................. 错误!未定义书签。
java学生管理系统设计说明书《Java学生管理系统设计说明书》一、引言学生管理系统是针对学校或教育机构的一种信息管理系统,用于管理学生的基本信息、课程信息、成绩信息等。
本文将详细介绍一个基于Java语言开发的学生管理系统的设计和实现。
二、系统需求分析1. 功能需求:(1) 学生信息管理:包括学生的基本信息(学号、姓名、性别、年龄等)的录入、修改、删除和查询功能。
(2) 课程信息管理:包括课程的录入、修改、删除和查询功能。
(3) 成绩管理:包括学生的成绩录入、查询和统计功能。
(4) 数据报表生成:包括学生基本信息报表、课程信息报表和成绩报表的生成功能。
2. 性能需求:(1) 系统响应速度要快,用户在进行操作时不会出现明显的卡顿现象。
(2) 系统要能够处理大量的数据,保证数据的准确性和完整性。
3. 可靠性需求:(1) 系统要具备数据备份和恢复功能,以防数据丢失或损坏。
(2) 系统要能够处理异常情况,保证系统的稳定性和可靠性。
三、系统设计1. 系统结构设计:(1) 前端界面:使用Java Swing或JavaFX等图形界面库实现用户交互界面,包括菜单、按钮、文本框等组件。
(2) 后端逻辑:使用Java编程语言实现系统的各项功能,包括数据的增删改查、数据的统计和报表的生成等。
(3) 数据库:使用关系型数据库(如MySQL、Oracle等)存储学生信息、课程信息和成绩信息等。
2. 系统模块设计:(1) 学生信息管理模块:实现学生信息的录入、修改、删除和查询功能。
(2) 课程信息管理模块:实现课程信息的录入、修改、删除和查询功能。
(3) 成绩管理模块:实现学生成绩的录入、查询和统计功能。
(4) 数据报表生成模块:实现学生基本信息报表、课程信息报表和成绩报表的生成功能。
3. 系统接口设计:(1) 用户界面接口:通过菜单、按钮等用户界面组件与用户进行交互,接收用户输入的指令。
(2) 数据库接口:通过Java JDBC等数据库访问方式与数据库进行交互,实现数据的增删改查操作。
目录概述 (3)一、课题介绍 (3)二、目的和要求 (3)三、任务计划 (4)需求分析 (5)一、学生管理系统的发展现状 (5)二、系统功能分析 (5)三、系统结构框图 (5)数据库设计 (7)一、创建数据表的结构 (7)二、各表功能及其关系 (7)系统模块功能的实现与界面设计 (8)一、系统主要模块 (8)二、欢迎界面 (9)三、主菜单界面 .............................................................................................. 错误!未定义书签。
四、子菜单 (10)五、学生信息录入 (11)六、学生信息查找 (12)七、学生信息删除 (13)八、学生信息修改 (14)课程设计心得 (15)一、程序结构设计培养 (15)二、书写习惯养成 (15)三、注意程序简洁 (15)总结 (16)参考文献 (17)附录:项目源代码 (18)一、数据库连接(D B C ONNECTION.JAVA) (18)二、学生信息数据库管理(S TUDENT_D AO.JAVA) (26)三、欢迎界面(W ELCOME.JAVA) (23)四、主菜单界面(M ENU.JAVA) (24)五、子菜单界面(S ON_M ENU.JAVA) (27)六、添加功能(A DD_M ENU.JAVA) (31)七、查找功能(F IND_M ENU.JAVA) (34)八、删除功能(D ELET_M ENU.JAVA) (36)九、修改功能(C HANGE_M ENU.JAVA).......................................................... 错误!未定义书签。
概述一、课题介绍本次课程设计要现一个面向学生信息的管理系统。
学生信息系统是一个非常通用的管理系统。
很多大、中、小学校都需要拥有自己的学生档案管理系统,以便对本校学生的基本信息和学习情况进行管理,另一方面,较完整的学校信息管理系统同样也需要有学生信息管理系统的支持。
由通用的学生相关数据分析可知,系统包括院系管理、学生基本信息管理、课程管理、学生从成绩管理等主要功能。
该系统要求使用JAVA和MySQL作为开发工具和数据库管理系统,因此,系统设计涉及系统功能设计、数据库设计和系统界面等几个方面容。
二、目的和要求1.了解JAVA语言的特点及使用的围,掌握开发软件平台的搭建。
2.要求使用JAVA和MySQL开发一个学生信息管理系统,系统主要功能如下:1)院系信息管理院系系统信息的录入,包括院系编号、院系名称等信息;院系信息的修改、删除、查询。
2)学生基本信息管理学生基本信息的录入,包括学号、姓名、性别、出生日期、所在院系、班级等信息;学生基本信息的修改、删除、查询。
3)课程设置管理课程信息的录入,包括课程编号、课程名称、学分、课程容等信息;课程信息的修改、删除、查询。
4)学生成绩管理学生成绩的录入,包括课程编号、课程名称、学分、课程容等信息;学生信息的修改、删除、查询。
三、任务计划考虑到本次课程设计是独立完成,所以,不需要进行细致的分工,只要对框架和时需求分析一、学生管理系统的发展现状经过了一段时间的发展,当今,各大高校普遍都有了相对完善的学生管理系统,但在部分中小学中,这种高效的管理手段,仍未能全面普及。
目前已有的学生管理系统存在界面和操作相对繁琐,实现成本较高等缺点,仍需改进。
二、系统功能分析由通用的学生相关数据分析可知,系统包括院系管理、学生基本信息管理、课程管理、学生从成绩管理等主要功能1。
实现以上各模块的功能,需要以下子功能:1数据库连接的建立与断开2数据库的数据操作,包括插入、查询、删除、修改3.系统操作界面与数据库操作相关联三、系统结构框图从系统功能表述可以看出,该系统可以实现几个功能,根据这些功能设计出系统的功能模块如图表1所示:1因各模块基本功能相近,故本文仅以学生基本信息管理功能为例图表1 学生信息管理系统功能模块图数据库设计一、创建数据表的结构(以学生基本信息管理系统为例)1.主要数据项学号、姓名、性别、出生年月、所在院系、所在班级2.数据类型及要求为操作方便,均定义为字符串。
其中学号不得重复。
3.MySQL建表语句二、各表功能及其关系1.本系统各表分别存储相应数据。
2.涉及的数据表之间相对独立,但仍有少量关联。
1)学生成绩表包含对学生基本信息表和课程设置表的映射2)学生基本信息表包含对院系信息表的映射系统模块功能的实现与界面设计一、系统主要模块本次课程设计的主要目的,是通过实践,让我对所学到的知识进行考验和巩固。
经过一点时间的了解。
设计出了系统的总体框架,参看图表1。
由于各模块的功能及原理基本相同,只是涉及的数据类型有所不同,所以本次只对学生基本信息管理的功能进行了较为全面的设计。
由于时间关系,其余功能没有进行具体设计。
(具体的在以下说明中会提及)系统界面设计如下:菜单界面Menu.class数据库管理模块:模块名称相关的类学生信息数据库管理StudentDao.class院系信息数据库管理DepartDao.class课程信息数据库管理CourseDao.class成绩信息数据库管理ScoreDao.class模块功能界面设计如下:模块名称相关的类添加功能Add_Menu.class查询功能Find_Menu.class二、欢迎界面1.实际运行效果(图表2)图表 2 欢迎界面2.实现方法1)继承了JPanel,并在构造函数中建立JFrame做外框;2)用JLabel显示欢迎信息容;3)确定按钮在监听到事件后,new出一个Menu类;三、主菜单界面1.实际运行效果(图表3)2.实现方法1)继承JFrame类,在部建立的JPanel插入JButton;2)定义相应按钮的响应事件,调用子菜单的不同建立函数(如new Son_menu().studentmenu(););图表 3 主菜单界面四、子菜单1.实际运行效果(错误!未找到引用源。
)2.实现方法1)建立JFrame,JTable,JButton等工具;2)建立数据库;3)将数据库里的数据逐个读入到JTable类;4)对JButton加入ActionListener,并关联相应的功能菜单,如:五、学生信息录入1.实际运行效果(图表5)图表 4 录入学生信息实现方法1)由输入的学生信息构造一个Student类;2)利用SQL语句,将Student类插入到数据库;六、学生信息查找1.实际运行效果(图标6)图表 6 查找学生信息实现方法1)由输入的学号,利用SQL语句找到相关数据,返回一个Student类;2)有则将student的相关信息显示到JTextArea上,没有则显示“学生信息未找到”;七、学生信息删除1.实际运行效果(图表7)图表7 学生信息删除2.实现方法1)应用查找功能相似的原理先搜索到要删除的信息;2)利用SQL语句将找到的信息删除,并显示“学生信息以删除”。
八、学生信息修改1.实际运行效果图表8 学生信息修改2.实现方法1)应用查找功能相似的原理先搜索到要修改的信息;2)应用删除功能相似的原理删除要修改的信息;3)调用录入类,录入要修改的新信息;课程设计心得一、程序结构设计思路培养为了简化程序,我并没有为每个窗口都建一个类,而是把类似的窗口例如student_add,depart_add等建一个类Add_Menu,调用不同的函数建立不同窗口,如:student_add(),depart_add();二、书写习惯的养成好的书写习惯是一个优秀程序员的必备品质。
在写代码的时候要随时注意书写的格式。
如:1.赋值语句的“=”的左右应该用空格隔开;a=1;改为a = 1;这样更为清晰;2.大括号一定要对齐;class {……public void …..{…….}}三、注意程序简洁在逐渐适应面向对象编程以后。
依然应道保持过去在编程中的一些好习惯。
使用Vector等,也需要留意效率。
不能只顾用法方便。
总结系统设计过程中,主要涉及了包括JAVA基本语法、AWT,Java Swing,MySQL 等方面的相关知识。
设计中遇到不少问题,到图书馆查阅了不少资料,向王宋君老师请教过不少问题,老师都一一细心解答,非常感谢。
由于时间仓促,原本设想的功能还没有一一实现,待进一步完善。
参考文献1.《Thinking in Java(Java编程思想)》第四版,机械工业出版社,【美】Bruce Eckel著,昊鹏译;2.《精通Java Swing程序设计》中国铁道出版社,林智扬、明翔、锦辉编著;3.《深入浅出Java Swing程序设计》中国铁道出版社,林智扬、明翔、锦辉编著;4.《Java GUI程序设计》清华大学出版社,肖刚等编著;5.《Java信息系统设计与开发实例》机械工业出版社,黄明、梁旭、曹利超编著;6.《Java例大全》机械工业出版社,继平、帆编著;附录:项目源代码一、数据库连接(DbConnection.java)package dao;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DbConnection {public static Connection getConnection(){Connection con = null;String url = "jdbc:mysql://localhost:3306/java";String userName= "root";String password = "l057788y";try {Class.forName(".mysql.jdbc.Driver");con = DriverManager.getConnection(url,userName,password);System.out.println("数据库连接成功");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();return null;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return con;}public static void closeConnection(Connection con){if(con!=null){try {con.close();con = null;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public static void main(String args[]){getConnection();}}}二、学生信息数据库管理(Student_Dao.java)package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import model.Depart;import model.Student;public class StudentDao {public boolean addInfo(Student student){boolean flag;Connection con = DbConnection.getConnection();PreparedStatement ps;String sql = "";// ResultSet rs;try {sql = "insert into student values(?,?,?,?,?,?)"; //用问号代替ps = con.prepareStatement(sql);ps.setInt(1, student.getId());ps.setString(2, student.getName());ps.setString(3, student.getSex());ps.setString(4, student.getBorn_date());ps.setString(5, student.getDepart_id());ps.setString(6, student.getClass_name());ps.execute();System.out.println("添加了一条记录");flag = true;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();flag = false;}finally{DbConnection.closeConnection(con);}return flag;}public ArrayList<Student> findAll(){ArrayList<Student> students = new ArrayList<Student>();Connection con = DbConnection.getConnection();Statement sta;ResultSet rs;try {sta = con.createStatement();rs = sta.executeQuery("SELECT * FROM student"); //从表depart 中查询所有数据while(rs.next()){Student student = new Student();student.setId(rs.getInt(1));student.setName(rs.getString(2));student.setSex(rs.getString(3));student.setBorn_date(rs.getString(4));student.setDepart_id(rs.getString(5));student.setClass_name(rs.getString(6));System.out.println(student.getName());students.add(student);}rs.close();sta.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{DbConnection.closeConnection(con);}return students;}public Student findOne(int id){Student student = new Student();Connection con = DbConnection.getConnection();PreparedStatement ps;String sql = "";ResultSet rs;try {sql = "SELECT * FROM student where id=?";ps = con.prepareStatement(sql);ps.setInt(1, id);rs = ps.executeQuery(); //从表depart中查询所有数据if(rs.next()){student.setId(rs.getInt("id")); //注意数据类型要对应student.setName(rs.getString("Name"));student.setSex(rs.getString("Sex"));student.setBorn_date(rs.getString("birthday"));student.setDepart_id(rs.getString("Depart"));student.setClass_name(rs.getString("Class"));System.out.println("id:"+student.getId()+"name:"+student.getName());}else{System.out.println("没有数据");}rs.close();ps.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{DbConnection.closeConnection(con);}return student;}public boolean deleteInfo(Student student){boolean flag;Connection con = DbConnection.getConnection();PreparedStatement ps;String sql = "";try {sql = "delete from student where id=?"; //用问号代替ps = con.prepareStatement(sql);ps.setInt(1, student.getId());ps.execute();System.out.println("成功删除了一条记录");flag = true;} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();flag = false;}finally{DbConnection.closeConnection(con);}return flag;}}三、欢迎界面(Welcome.java)package menu;import java.awt.BorderLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.*;public class Welcome {JFrame w = new JFrame("managementsystem");JPanel p1 = new JPanel();JPanel p2 = new JPanel();JLabel l = new JLabel("欢迎进入学生信息管理系统!");JButton b = new JButton("确定");Welcome(){w.addWindowListener(new Wind());b.addMouseListener(new Monitor2());Font font = new Font( "欢迎进入学生信息管理系统!", Font.PLAIN, 40);l.setFont(font);w.add(p1,BorderLayout.CENTER);w.add(p2,BorderLayout.SOUTH);p1.add(l);l.setBounds(p1.WIDTH/2-100,p1.HEIGHT/2-10,200,20);p2.add(b);b.setBounds(p2.WIDTH/2-10,p2.HEIGHT/2-6,20,12);w.setBounds(400, 200, 600, 200);w.setVisible(true);}private class Monitor2 extends MouseAdapter{p ublic void mousePressed(MouseEvent e) {new Menu();w.setVisible(false);}}public static void main(String args[]){new Welcome();}private class Wind extends WindowAdapter{public void windowClosing(WindowEvent e) {w.setVisible(false);System.exit(0);}}}四、主菜单界面(Menu.java)package menu;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.*;public class Menu {JFrame f = new JFrame("菜单");JPanel p = new JPanel();Menu(){JButton b_depart = new JButton("院系信息");JButton b_student = new JButton("学生信息");JButton b_course = new JButton("课程信息");JButton b_score = new JButton("成绩信息");JButton ex = new JButton("退出");b_score.addActionListener(new Monitor2());ex.addActionListener(new Monitor2());b_depart.addActionListener(new Monitor2());b_student.addActionListener(new Monitor2());b_course.addActionListener(new Monitor2());f.addWindowListener(new Wind());f.add(p);p.setLayout(new GridLayout(1,2));JLabel l = new JLabel();JPanel p2 = new JPanel();p.add(l);p.add(p2);p2.setLayout(new GridLayout(5,1));p2.add(b_depart);p2.add(b_student);p2.add(b_course);p2.add(b_score);p2.add(ex);f.setBounds(400,200,400,400);f.setVisible(true);}public static void main(String args[]){new Menu();}private class Wind extends WindowAdapter{ public void windowClosing(WindowEvent e) {f.setVisible(false);System.exit(0);}}private class Monitor2 implements ActionListener{p ublic void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("退出")){new Menu();System.exit(0);}if(e.getActionCommand().equals("学生信息")){new Son_menu().studentmenu();f.setVisible(false);}i f(e.getActionCommand().equals("院系信息")){new Son_menu().departmenu();f.setVisible(false);}i f(e.getActionCommand().equals("课程信息")){new Son_menu().coursemenu();f.setVisible(false);}i f(e.getActionCommand().equals("成绩信息")){new Son_menu().scoremenu();f.setVisible(false);}}}}五、子菜单界面(Son_Menu.java)package menu;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.ArrayList;import java.util.Vector;import javax.swing.*;import javax.swing.table.DefaultTableModel;import model.Student;import dao.StudentDao;public class Son_menu {JFrame f ;JPanel p1 = new JPanel();JPanel p2 = new JPanel();JButton b_add = new JButton("录入");JButton b_delet = new JButton("删除");JButton b_change = new JButton("修改");JButton b_find = new JButton("查找");JButton b_return = new JButton("返回");JTable t;DefaultTableModel tableModel= null;public static void main(String args[]){new Son_menu().studentmenu();}//学生信息菜单public void studentmenu(){f = new JFrame("学生信息");ArrayList scan = new ArrayList();Vector columnNames = new Vector();columnNames.add("学号");columnNames.add("姓名");columnNames.add("性别");columnNames.add("出生年月");columnNames.add("学院代码");columnNames.add("所在班级");tableModel = new DefaultTableModel(columnNames,0);tableModel.addRow(columnNames);StudentDao ddao = new StudentDao();scan = ddao.findAll();for(int i=0;i<scan.size();i++){Vector v = new Vector();Student student = (Student)scan.get(i);v.add(student.getId());v.add(student.getName());v.add(student.getSex());v.add(student.getBorn_date());v.add(student.getDepart_id());v.add(student.getClass_name());tableModel.addRow(v);}t = new JTable(tableModel);t.setVisible(true);f.setLayout(new BorderLayout());f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.SOUTH);f.setBounds(400,200,600,400);p1.add(t);b_add.setActionCommand("学生录入");b_delet.setActionCommand("学生删除");b_change.setActionCommand("学生修改");b_find.setActionCommand("学生查找");b_add.addActionListener(new Monitor2());b_delet.addActionListener(new Monitor2());b_change.addActionListener(new Monitor2());b_find.addActionListener(new Monitor2());b_return.addActionListener(new Monitor2());p2.add(b_add);p2.add(b_delet);p2.add(b_change);p2.add(b_find);p2.add(b_return);f.setVisible(true);}//院系信息菜单public void departmenu(){f = new JFrame("院系信息");t = new JTable(100,2);t.setVisible(true);f.setLayout(new BorderLayout());f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.SOUTH);f.setBounds(400,200,400,400);p1.add(t);b_add.setActionCommand("院系录入");b_delet.setActionCommand("院系删除");b_change.setActionCommand("院系修改");b_find.setActionCommand("院系查找");b_add.addActionListener(new Monitor2());b_delet.addActionListener(new Monitor2());b_change.addActionListener(new Monitor2());b_find.addActionListener(new Monitor2());b_return.addActionListener(new Monitor2());p2.add(b_add);p2.add(b_delet);p2.add(b_change);p2.add(b_find);p2.add(b_return);f.setVisible(true);}//课程信息菜单public void coursemenu(){f = new JFrame("课程信息");t = new JTable(100,2);t.setVisible(true);f.setLayout(new BorderLayout());f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.SOUTH);f.setBounds(400,200,400,400);p1.add(t);b_add.setActionCommand("课程录入");b_delet.setActionCommand("课程删除");b_change.setActionCommand("课程修改");b_find.setActionCommand("课程查找");b_add.addActionListener(new Monitor2());b_delet.addActionListener(new Monitor2());b_change.addActionListener(new Monitor2());b_find.addActionListener(new Monitor2());b_return.addActionListener(new Monitor2());p2.add(b_add);p2.add(b_delet);p2.add(b_change);p2.add(b_find);p2.add(b_return);f.setVisible(true);}//成绩信息菜单public void scoremenu(){f = new JFrame("成绩信息");t = new JTable(100,2);t.setVisible(true);f.setLayout(new BorderLayout());f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.SOUTH);f.setBounds(400,200,400,400);p1.add(t);b_add.setActionCommand("成绩录入");b_delet.setActionCommand("成绩删除");b_change.setActionCommand("成绩修改");b_find.setActionCommand("成绩查找");b_add.addActionListener(new Monitor2());b_delet.addActionListener(new Monitor2());b_change.addActionListener(new Monitor2());b_find.addActionListener(new Monitor2());b_return.addActionListener(new Monitor2());p2.add(b_add);p2.add(b_delet);p2.add(b_change);p2.add(b_find);p2.add(b_return);f.setVisible(true);}private class Monitor2 implements ActionListener{ p ublic void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("返回")){f.setVisible(false);new Menu();}if(e.getActionCommand().equals("学生录入")){f.setVisible(false);new Add_Menu().student_add();}if(e.getActionCommand().equals("学生删除")){f.setVisible(false);new Delet_Menu().student_delet();}if(e.getActionCommand().equals("学生修改")){f.setVisible(false);new Change_Menu().student_change();}if(e.getActionCommand().equals("学生查找")){f.setVisible(false);new Find_Menu().student_find();}}}}六、添加功能(Add_Menu.java)package menu;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import model.Student;import dao.StudentDao;public class Add_Menu {JFrame add_menu;JPanel p1,p2,p11,p12,p13,p14,p15,p16;JLabel l1,l2,l3,l4,l5,l6;JTextField t1,t2,t3,t4,t5,t6;JButton b_ok,b_cancel;public void student_add(){add_menu = new JFrame("录入学生信息");p1 = new JPanel();p2 = new JPanel();p11 = new JPanel();p12 = new JPanel();p13 = new JPanel();p14 = new JPanel();p15 = new JPanel();p16 = new JPanel();p1.setLayout(new GridLayout(6,1));l1 = new JLabel(" 学号:");l2 = new JLabel(" 姓名:");l3 = new JLabel(" 性别:");l4 = new JLabel("出生日期:");l5 = new JLabel("院系代码:");l6 = new JLabel("所在班级:");t1 = new JTextField(16);t2 = new JTextField(16);t3 = new JTextField(16);t4 = new JTextField(16);t5 = new JTextField(16);t6 = new JTextField(16);p11.add(l1);p11.add(t1);p12.add(l2);p12.add(t2);p13.add(l3);p13.add(t3);p14.add(l4);p14.add(t4);p15.add(l5);p15.add(t5);p16.add(l6);p16.add(t6);p1.add(p11);p1.add(p12);p1.add(p13);p1.add(p14);p1.add(p15);p1.add(p16);p2.add(b_ok = new JButton("确定"));p2.add(b_cancel = new JButton("取消"));b_ok.addActionListener(new Monitor2());b_cancel.addActionListener(new Monitor2());add_menu.add(p1,BorderLayout.NORTH);add_menu.add(p2,BorderLayout.SOUTH);add_menu.setBounds(400,200,400,300);add_menu.setVisible(true);}public static void main(String args[]){new Add_Menu().student_add();}private class Monitor2 implements ActionListener{ p ublic void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("取消")){add_menu.setVisible(false);new Son_menu().studentmenu();}if(e.getActionCommand().equals("确定")){Student s = new Student();s.setId(Integer.parseInt(t1.getText()));s.setName(t2.getText());s.setSex(t3.getText());s.setBorn_date(t4.getText());s.setDepart_id(t5.getText());s.setClass_name(t6.getText());new StudentDao().addInfo(s);add_menu.setVisible(false);new Son_menu().studentmenu();}}}}七、查找功能(Find_Menu.java)package menu;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import dao.StudentDao;import model.Student;public class Find_Menu {Student find_student;JFrame find_menu;JPanel p1,p2;JLabel l1;JTextField text;JTextArea show;JButton find_find,find_cancel;public void student_find(){find_menu = new JFrame("学生信息查找");p1 = new JPanel();p2 = new JPanel();l1 = new JLabel("学号:");text = new JTextField(16);show = new JTextArea(100,100);find_find = new JButton("搜索");find_cancel = new JButton("取消");find_cancel.addActionListener(new Monitor2());find_find.addActionListener(new Monitor2());find_menu.add(p1,BorderLayout.NORTH);find_menu.add(show,BorderLayout.CENTER);find_menu.add(p2,BorderLayout.SOUTH);p1.add(l1);p1.add(text);p2.add(find_find);p2.add(find_cancel);find_menu.setBounds(400,200,400,400);find_menu.setVisible(true);}private class Monitor2 implements ActionListener{p ublic void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("取消")){find_menu.setVisible(false);new Son_menu().studentmenu();}if(e.getActionCommand().equals("搜索")){find_student = new StudentDao().findOne(Integer.parseInt(text.getText()));if(find_student.getName()!= null){String str = " 姓名:"+find_student.getName()+"\n 学号:"+find_student.getId()+"\n 性别:"+find_student.getSex()+"\n 生日:"+find_student.getBorn_date()+"\n 院系代号:"+find_student.getDepart_id()+"\n 班级:"+find_student.getClass_name()+" ";show.setText("");show.insert(str, 1);}else{show.setText("");show.insert("学生信息未找到", 1);}}if(e.getActionCommand().equals("删除")){new StudentDao().deleteInfo(find_student);show.setText("");show.insert("学生信息已删除", 1);}}}public static void main(String args[]){new Find_Menu().student_find();}}八、删除功能(Delet_Menu.java)package menu;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import model.Student;import dao.StudentDao;public class Delet_Menu {Student delet_student;JFrame delet_menu;JPanel p1,p2;JLabel l1;JTextField text;JTextArea show;JButton delet_ok,delet_find,delet_cancel;public void student_delet(){delet_menu = new JFrame("学生信息删除");p1 = new JPanel();p2 = new JPanel();l1 = new JLabel("学号:");text = new JTextField(16);show = new JTextArea(100,100);delet_ok = new JButton("删除");delet_find = new JButton("搜索");delet_cancel = new JButton("取消");delet_ok.setEnabled(false);delet_cancel.addActionListener(new Monitor2());delet_find.addActionListener(new Monitor2());delet_ok.addActionListener(new Monitor2());delet_menu.add(p1,BorderLayout.NORTH);delet_menu.add(show,BorderLayout.CENTER);delet_menu.add(p2,BorderLayout.SOUTH);p1.add(l1);p1.add(text);p2.add(delet_find);p2.add(delet_ok);p2.add(delet_cancel);delet_menu.setBounds(400,200,400,400);delet_menu.setVisible(true);}private class Monitor2 implements ActionListener{p ublic void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("取消")){delet_menu.setVisible(false);new Son_menu().studentmenu();}if(e.getActionCommand().equals("搜索")){delet_student = new StudentDao().findOne(Integer.parseInt(text.getText()));if(delet_student.getName()!= null){String str = "找到学生姓名:"+delet_student.getName()+" 学号:"+delet_student.getId()+" ";show.setText("");show.insert(str, 1);delet_ok.setEnabled(true);}else{show.setText("");show.insert("学生信息未找到", 1);}}if(e.getActionCommand().equals("删除")){new StudentDao().deleteInfo(delet_student);show.setText("");show.insert("学生信息已删除", 1);}}}public static void main(String args[]){new Delet_Menu().student_delet();}}九、修改功能(Change_Mene.java)package menu;import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import dao.StudentDao;import model.Student;public class Change_Menu {Student change_student;JFrame change_menu;JPanel p1,p2;JLabel l1;JTextField text;JTextArea show;JButton delet_change,delet_find,delet_cancel;public void student_change(){change_menu = new JFrame("学生信息修改");p1 = new JPanel();p2 = new JPanel();l1 = new JLabel("学号:");text = new JTextField(16);show = new JTextArea(100,100);delet_change = new JButton("修改");delet_find = new JButton("搜索");delet_cancel = new JButton("取消");delet_change.setEnabled(false);delet_cancel.addActionListener(new Monitor2());delet_find.addActionListener(new Monitor2());delet_change.addActionListener(new Monitor2());change_menu.add(p1,BorderLayout.NORTH);change_menu.add(show,BorderLayout.CENTER);change_menu.add(p2,BorderLayout.SOUTH);p1.add(l1);p1.add(text);p2.add(delet_find);p2.add(delet_change);p2.add(delet_cancel);change_menu.setBounds(400,200,400,400);change_menu.setVisible(true);}private class Monitor2 implements ActionListener{p ublic void actionPerformed(ActionEvent e) {if(e.getActionCommand().equals("取消")){change_menu.setVisible(false);new Son_menu().studentmenu();}if(e.getActionCommand().equals("搜索")){change_student = newStudentDao().findOne(Integer.parseInt(text.getText()));if(change_student.getName()!= null){String str = "找到学生姓名:"+change_student.getName()+" 学号:"+change_student.getId()+" ";show.setText("");show.insert(str, 1);delet_change.setEnabled(true);}else{show.setText("");show.insert("学生信息未找到", 1);}}if(e.getActionCommand().equals("修改")){new StudentDao().deleteInfo(change_student);show.setText("");change_menu.setVisible(false);new Add_Menu().student_add();}}}public static void main(String args[]){new Change_Menu().student_change();}}。