Java项目实战_学生管理系统

合集下载

java学生管理系统课程设计心得体会

java学生管理系统课程设计心得体会

Java学生管理系统课程设计心得体会引言在大学学习Java编程语言期间,我们通常需要进行一些实践项目,以巩固所学知识并提升编程水平。

其中,设计一个学生管理系统是非常常见的项目之一。

在完成这个课程设计项目的过程中,我积累了一些心得体会,希望与大家分享。

项目概述学生管理系统是一个以学生为对象的信息管理系统,可以用于学校、培训机构等教育实体,用于完成学生信息录入、查询、修改和删除等管理功能。

该系统可以帮助管理人员高效地管理学生信息,提供便利的查询和操作方式。

设计过程1. 需求分析在设计任何系统之前,首先需要明确需求。

仔细观察系统的使用场景,与相关人员进行沟通,收集并整理需求。

在学生管理系统中,主要包括学生信息的录入、查询和修改功能,并需要具备一定的可扩展性,以满足未来可能的需求变更。

2. 概要设计在需求分析的基础上,进行系统的概要设计。

首先,确定系统的整体结构,包括主要的模块和它们之间的关系。

然后,定义每个模块的功能和接口,并绘制相应的类图和时序图。

在学生管理系统中,可以设计学生信息模块、查询模块和修改模块等。

3. 详细设计在概要设计的基础上,进行系统的详细设计。

详细设计主要涉及类的具体设计,包括属性的定义和方法的实现。

在Java中,可以采用面向对象的方式进行设计,利用类、对象和继承等特性,实现系统的功能。

在学生管理系统中,可以设计一个Student类来表示学生,包含学生的基本属性和相关方法。

4. 编码与测试在完成详细设计后,开始进行编码和测试。

根据设计的类和方法,使用Java编程语言实现相应的功能。

编码过程中,要注意代码的规范和可读性,并进行必要的注释。

完成编码后,进行系统的测试,包括单元测试和集成测试,以验证系统的正确性和稳定性。

5. 部署与维护在经过测试并确保系统的正常运行后,将系统部署到目标环境中,提供给用户使用。

在系统的使用过程中,要定期进行维护和更新,以确保系统的安全和稳定。

同时,根据用户的反馈和需求变化,及时进行系统的优化和升级,提供更好的用户体验。

java项目经验案例

java项目经验案例

java项目经验案例Java项目经验案例一:学生成绩管理系统项目描述:学生成绩管理系统是一个用于管理学生信息和成绩的系统。

该系统具有以下功能:学生信息的添加、删除、修改和查询;学生成绩的录入、计算平均成绩和排名;教师和管理员的登录和权限管理。

项目实施:1.需求分析:根据客户需求,确定系统功能和界面设计。

与客户沟通,了解具体需求,明确系统功能和界面要求。

2.技术选型:选择适合的技术框架和数据库,如Spring MVC、MyBatis和MySQL。

3.数据库设计:根据系统需求,设计学生信息表和成绩表,并建立相应的关联关系。

4.界面设计:设计用户界面,包括登录界面、学生信息管理界面、成绩管理界面等。

5.编码实现:根据需求和设计,进行系统编码实现,包括前端界面和后端逻辑。

6.单元测试:对系统各个模块进行单元测试,确保功能正常。

7.集成测试:将各个模块集成,进行功能测试和性能测试,确保系统稳定。

8.上线部署:将系统部署到服务器上,配置好相关环境,进行线上测试。

9.用户培训:对管理员和教师进行培训,使其能够熟练操作系统。

10.系统维护:定期进行系统维护和更新,修复bug和优化系统性能。

项目亮点:1.采用Spring MVC框架,实现了模块化开发,提高了代码的复用性和可维护性。

2.使用MyBatis进行数据库操作,提高了数据库访问的效率。

3.采用前后端分离的架构,前端使用Vue.js框架,实现了页面的交互和数据展示。

4.使用JWT实现用户认证和权限管理,保证了系统的安全性。

5.采用缓存技术,提高了系统的响应速度和并发能力。

6.引入日志管理,方便系统的监控和故障排查。

7.系统界面简洁美观,用户操作友好,提高了用户体验。

项目收获:1.熟练掌握了Java语言和Spring MVC框架的开发技术。

2.了解了数据库设计和优化的方法,提高了数据的存储和访问效率。

3.学习了前端开发技术,提高了用户界面的设计和交互能力。

4.加深了对软件开发流程和项目管理的理解,提高了团队协作能力。

基于java web的学生管理系统的设计与实现

基于java web的学生管理系统的设计与实现

基于Java Web的学生管理系统的设计与实现摘要本文旨在介绍一个基于Java Web的学生管理系统的设计与实现。

学生管理系统是一个常见的管理信息系统,用于管理学校、大学或其他教育机构中的学生信息。

通过使用Java Web技术,我们可以方便地实现学生信息的增删改查等功能,并提供友好的用户界面供管理员和教师使用。

1. 引言学生管理系统是一种管理信息系统,用于管理学生在学校的信息,包括个人信息、课程信息、成绩信息等。

传统的学生管理系统主要依靠纸质档案和人工管理,效率低下且易出错。

因此,开发一个基于Java Web的学生管理系统,能够方便快捷地管理学生信息,提高管理效率,减少错误。

2. 系统需求学生管理系统的功能需求主要包括以下几个方面:•学生信息管理:包括学生的基本信息,如姓名、性别、年龄等。

•课程管理:包括课程的添加、编辑和删除等操作。

•成绩管理:包括学生成绩的录入和查询等操作。

•班级管理:包括班级的添加、编辑和删除等操作。

3. 系统设计与实现3.1 技术选择本系统选择使用以下技术进行设计与实现:•前端技术:HTML、CSS、JavaScript、Bootstrap等。

•后端技术:Java、Spring MVC、MyBatis等。

•数据库:MySQL。

3.2 系统架构学生管理系统采用MVC(Model-View-Controller)架构模式,将系统的功能分成不同的模块,实现解耦和灵活性。

•模型(Model):负责处理与数据相关的逻辑,包括数据的存储、提取和处理。

•视图(View):负责展示数据给用户,并接收用户的输入。

•控制器(Controller):负责接收用户输入的请求,并根据请求调用相应的模型和视图。

3.3 数据库设计学生管理系统的数据库设计主要包括以下几个表:•学生表(students):包括学生的基本信息,如学号、姓名、性别、年龄等。

•课程表(courses):包括课程的信息,如课程编号、课程名称、学分等。

基于JAVA的学生管理系统的设计与实现

基于JAVA的学生管理系统的设计与实现

基于JAVA的学生管理系统的设计与实现学生管理系统是近年来成为教育行业必备的一种信息管理软件。

下面将介绍基于JAVA 的学生管理系统设计实现。

一、功能需求1. 学生信息管理:包括学生基本信息、课程信息、成绩信息、出勤信息等管理。

3. 课程管理:包括课程添加、修改、删除、查询等管理。

4. 成绩管理:包括成绩录入、查询、统计、导出等管理。

5. 出勤管理:包括出勤记录维护、缺勤处理、请假管理等。

二、系统设计系统采用MVC的设计模式,分为三层:视图层、控制层和数据层。

1. 数据层数据层主要负责数据库的操作,数据库采用MySQL。

主要包括学生信息表、教师信息表、课程信息表、成绩信息表、出勤信息表等。

2. 控制层控制层主要负责逻辑处理,其中包括业务逻辑和数据逻辑。

业务逻辑负责实现系统的具体功能,数据逻辑负责与数据库进行交互。

控制层采用Servlet和JSP开发。

3. 视图层视图层主要负责页面展示和用户交互,采用HTML、CSS、JavaScript等技术实现。

三、系统实现1. 系统登录学生管理系统实现了用户的登录验证,用户在登录页面输入用户名和密码,系统会验证是否正确。

2. 学生信息管理学生信息管理包括学生基本信息、课程信息、成绩信息、出勤信息等管理。

学生基本信息包括姓名、年龄、性别、学号等,课程信息包括课程名称、授课教师、学期等,成绩信息包括学生姓名、成绩、课程名称等,出勤信息包括出勤日期、缺勤情况等。

4. 课程管理课程管理包括课程添加、修改、删除、查询等管理。

管理员可以添加新的课程,也可以对已有课程进行修改或删除,同时可以查询已有的课程。

5. 成绩管理成绩管理包括成绩录入、查询、统计、导出等管理。

管理员可以录入学生的成绩,也可以查询已有的成绩,同时可以对成绩进行统计和导出。

6. 出勤管理出勤管理包括出勤记录维护、缺勤处理、请假管理等。

管理员可以维护每个学生的出勤记录,也可以对缺勤的学生进行处理,同时可以管理学生的请假情况。

java学生管理系统大作业代码

java学生管理系统大作业代码

java学生管理系统大作业代码Java学生管理系统是一个基于Java语言开发的学生信息管理系统,用于方便学校教务人员进行学生信息的管理和查询。

以下是该系统的代码实现。

1. 登录界面代码实现该界面是用户登录的入口,用户需要输入用户名和密码才能进入系统。

```javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Login extends JFrame implements ActionListener {JLabel lb1, lb2, lb3;JTextField txtName;JPasswordField txtPwd;JButton btnOK, btnCancel;String userName = "admin";// 默认用户名String password = "123456";// 默认密码public Login() {setTitle("学生信息管理系统登录");// 设置窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗体关闭方式setSize(350, 200);// 设置窗体大小setLocationRelativeTo(null);// 设置居中显示setLayout(new BorderLayout());JPanel pNorth = new JPanel();lb1 = new JLabel("欢迎使用学生信息管理系统", JLabel.CENTER); lb1.setFont(new Font("微软雅黑", Font.BOLD, 20));pNorth.add(lb1);add(pNorth, BorderLayout.NORTH);JPanel pCenter = new JPanel();pCenter.setLayout(new GridLayout(3, 2));lb2 = new JLabel("用户名:", JLabel.RIGHT);pCenter.add(lb2);txtName = new JTextField(20);pCenter.add(txtName);lb3 = new JLabel("密码:", JLabel.RIGHT);pCenter.add(lb3);txtPwd = new JPasswordField(20);txtPwd.setEchoChar('*');// 设置密码框的回显字符pCenter.add(txtPwd);btnOK = new JButton("登录");pCenter.add(btnOK);btnCancel = new JButton("取消");pCenter.add(btnCancel);add(pCenter, BorderLayout.CENTER);btnOK.addActionListener(this);btnCancel.addActionListener(this);setVisible(true);// 显示窗体}public void actionPerformed(ActionEvent e) {if (e.getSource() == btnOK) {String name = txtName.getText();// 获取用户名String password = new String(txtPwd.getPassword());// 获取密码 if (name.equals(userName) && password.equals(password)) {setVisible(false);new MainFrame();} else {JOptionPane.showMessageDialog(Login.this, "用户名或密码错误!", "登录失败", JOptionPane.ERROR_MESSAGE);}} else if (e.getSource() == btnCancel) {txtName.setText("");txtPwd.setText("");}}public static void main(String[] args) {new Login();}}```2. 主界面代码实现该界面是系统的主界面,包含了菜单栏、工具栏和表格显示区域。

java学生宿舍管理系统代码

java学生宿舍管理系统代码

小区停车位使用新规定在日益拥挤的城市生活中,停车位一直是个让居民头疼的问题。

随着汽车保有量的不断增加,小区内稀缺的停车资源如何合理分配和管理,已经成为小区管理的重点难题。

为了保障居民的停车需求,多数小区都出台了新的停车位使用规定,希望通过规范管理来缓解停车难的问题。

那么这些新的停车位使用规定都有哪些内容呢?让我们一起来探讨一下。

很多小区开始实行”先到先得”的停车位分配方式。

也就是说,停车位的使用权将根据车主进入小区的先后顺序来决定。

先进入小区的车主可以优先选择空余的停车位。

这种方式看起来公平合理,但也存在一些问题,比如车主们为了抢占停车位会产生混乱,甚至引发矛盾纠纷。

一些小区开始实行停车位分时段使用的规定。

也就是说,停车位在上班高峰时段和下班时段会有不同的使用规则。

比如工作日的上午8点到下午6点,停车位只供住户使用,晚上6点到第二天早上8点,访客也可以使用。

这种分时段管理的方式一定程度上缓解了停车难的问题,但也给一些车主带来了不便,特别是那些需要长时间停车的人。

再者,不少小区还对停车位的使用权进行了差异化管理。

也就是说,根据车主的不同身份,他们享有的停车位使用权也不尽相同。

比如住户可以拥有专属停车位,而访客只能使用临时停车位。

这种管理方式在一定程度上保护了住户的权益,但同时也可能引发不同车主之间的矛盾。

一些小区开始对停车费用进行调整。

比如提高临时停车位的费用,以此来鼓励车主选择长期停车位。

又或者对连续占用停车位超过一定时间的车主收取加价费用。

这种措施旨在合理分配停车资源,但同时也可能引发车主的不满。

小区停车位的使用规定虽然各有特点,但都旨在通过规范管理来缓解停车难的问题。

不过,这些新规定也会给车主们带来一定的不便,甚至引发矛盾纠纷。

因此,小区管理部门在制定停车位使用规定时,应该充分考虑车主的合理诉求,力求达到停车需求与停车资源的平衡。

只有这样,才能真正解决小区停车难的问题,让居民享有更加便利的停车环境。

学生信息管理系统java功能模块

学生信息管理系统java功能模块

学生信息管理系统Java功能模块简介学生信息管理系统是一种用于管理学生信息的软件系统。

它可以帮助学校、教育机构或其他组织有效地记录、存储和处理学生的个人和学术信息。

Java是一种面向对象的编程语言,具有广泛的应用领域和强大的开发工具,非常适合用于开发学生信息管理系统。

本文将介绍学生信息管理系统的Java功能模块,包括以下几个方面:用户登录与权限管理、学生信息录入与查询、成绩管理、课程管理以及数据统计与报表生成。

用户登录与权限管理用户登录用户登录是系统的入口,通过输入用户名和密码进行身份验证。

在Java中,可以使用Swing或JavaFX等图形界面库创建一个登录界面,用户输入用户名和密码后,通过数据库验证用户身份。

权限管理不同用户可能具有不同的权限,例如管理员可以对系统进行全面管理,而普通教师只能查看和编辑自己所负责的班级或课程。

在Java中,可以使用角色-权限模型来实现权限管理。

每个用户被分配到一个或多个角色,并且每个角色具有一组特定的权限。

通过为每个操作配置相应的权限,并在代码中进行权限检查,可以确保只有具备相应权限的用户才能执行该操作。

学生信息录入与查询学生信息录入学生信息包括个人基本信息、家庭背景、学习成绩等。

在Java中,可以使用面向对象的思想,创建一个学生类,包含各种属性和方法。

通过用户界面,可以输入学生的各项信息,并将其保存到数据库中。

学生信息查询学生信息查询是系统的核心功能之一。

用户可以通过多种方式进行查询,例如按照学号、姓名、班级等进行精确查询,或者按照年级、性别等进行模糊查询。

在Java中,可以使用SQL语句来实现数据库查询操作,并将结果显示在用户界面上。

成绩管理成绩录入成绩管理是学生信息管理系统的重要组成部分。

教师可以根据课程安排录入学生成绩,并将其与相应的学生和课程关联起来。

在Java中,可以使用面向对象的思想,创建一个成绩类,包含相关属性和方法。

通过用户界面,教师可以输入学生成绩,并将其保存到数据库中。

java课程设计学生信息管理系统

java课程设计学生信息管理系统

java课程设计学生信息管理系统一、教学目标本节课的教学目标是使学生掌握Java编程语言的基本语法和编程技巧,能够运用Java语言实现简单的学生信息管理系统。

具体目标如下:1.知识目标:–掌握Java语言的基本语法和数据结构;–理解面向对象编程的基本概念和方法;–了解学生信息管理系统的功能和结构。

2.技能目标:–能够使用Java语言编写简单的程序;–能够运用面向对象编程方法设计和实现学生信息管理系统;–能够对程序进行调试和优化。

3.情感态度价值观目标:–培养学生的编程兴趣和自主学习能力;–培养学生解决问题的能力和团队合作精神;–使学生认识到计算机技术在现实生活中的重要性和应用价值。

二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据结构;2.面向对象编程的基本概念和方法;3.学生信息管理系统的功能和结构;4.学生信息管理系统的实现和优化。

具体安排如下:1.第1-2课时:讲解Java语言的基本语法和数据结构;2.第3-4课时:讲解面向对象编程的基本概念和方法;3.第5-6课时:介绍学生信息管理系统的功能和结构;4.第7-8课时:引导学生实现和优化学生信息管理系统。

三、教学方法本节课采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解Java语言的基本语法和数据结构,面向对象编程的基本概念和方法;2.案例分析法:分析实际的学生信息管理系统的案例,使学生更好地理解理论知识;3.实验法:引导学生动手实现和优化学生信息管理系统,提高学生的实际编程能力。

四、教学资源本节课所需的教学资源包括:1.教材:Java编程语言相关教材;2.参考书:面向对象编程相关参考书;3.多媒体资料:讲解Java语言和面向对象编程的PPT;4.实验设备:计算机和网络设备,以便进行编程实践。

五、教学评估本节课的教学评估将采用多元化评价方式,以全面、客观、公正地评估学生的学习成果。

java学生管理系统实训报告

java学生管理系统实训报告

Java学生管理系统实训报告学号:姓名:班级:指导老师:一、项目计划(1)项目名称:学生信息管理系统(2)实训地点:(3)小组成员:二、系统总体设计(1)需求分析学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。

通过实际调查,要求学生信息管理系统具有以下功能:1.界面设计美观大方,方便,快捷,操作灵活。

2.实现强大的学生个人信息,课程信息,成绩信息的查询,修改,录入,删除管理。

3.实现强大的联系人信息及其类别的查询,录入,删除管理。

4.能够在不同的的操作系统下运行,不局限于特定的平台。

5.提供数据库备份与恢复功能。

6.提供友情平台,例如:计算机,方便对成绩的操作;(2)项目计划安排一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。

有计划、有步骤地进行软件开发,除了可以提高开发进度外,更能明确项目组各成员之间的职责及任务。

项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。

(3)概要设计概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。

概要设计要坚持以下几个原则:1:细分原则2:提高代码重用性:3:从上而下层层分析4:一致性原则5:提高独立性6:模块的大小要尽量适中。

由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。

现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。

(4)详细设计概要设计是为了明确开发人员的工作步骤和工作目标。

详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。

简单的java项目实例

简单的java项目实例

简单的java项目实例
Java是一种广泛使用的编程语言,它在软件开发中具有广泛的应用。

在本文中,我们将介绍一个简单的Java项目实例,以帮助初学者了解Java的基本语法和语言特性。

这个项目的目标是创建一个简单的学生管理系统。

这个系统将允许用户添加、编辑和删除学生信息,并能够列出所有学生的信息。

首先,我们将创建一个名为Student的Java类。

这个类将包含学生的姓名、年龄和成绩等基本信息。

接下来,我们将创建一个名为StudentManager的Java类。

这个类将充当学生管理系统的核心,它将包含所有与学生相关的方法,如添加、编辑和删除学生信息的方法。

在这个系统中,我们将使用Java中的ArrayList数据结构来存储学生信息。

这个数据结构允许我们轻松地添加、删除和编辑学生信息。

接下来,我们将创建一个名为Main的Java类。

这个类将包含我们程序的入口点。

在Main类中,我们将创建一个StudentManager对象并调用其方法来执行所有学生相关的操作。

最后,我们将为我们的学生管理系统添加一个用户界面。

我们将使用Java Swing库来创建一个简单的窗口,让用户可以轻松地进行学生信息的添加、编辑和删除操作。

这个简单的Java项目实例可以帮助初学者快速掌握Java语言的基本语法和数据结构。

通过这个项目,我们可以了解Java中常用的
类和方法,并学习如何使用它们来创建一个简单的应用程序。

JAVA学生信息管理系统实验报告

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 课程设计本文介绍了一个简单的学生管理系统 Java 课程设计,包括系统的需求分析、数据库设计、界面设计和功能实现等方面,旨在为初学者提供一个参考。

下面是本店铺为大家精心编写的3篇《学生管理系统 Java 课程设计》,供大家借鉴与参考,希望对大家有所帮助。

《学生管理系统 Java 课程设计》篇1一、需求分析本系统旨在实现对学生信息的管理,包括学生的学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号等信息。

系统需要提供查询、增、删、改等功能,数据存储可以使用数据库或文件。

二、数据库设计本系统采用 MySQL 数据库进行数据存储,创建一个名为“student”的数据表,包含以下字段:- 学号:id- 姓名:name- 性别:gender- 出生日期:birthday- 政治面貌:politics- 家庭住址:address- 电话:phone- 宿舍号:dormitory三、界面设计本系统采用 Java Swing 进行界面设计,主要包括以下组件:- 主界面:包含学生信息查询、添加、修改、删除等功能按钮。

- 学生信息查询界面:显示学生的详细信息,包括学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号等。

- 学生信息添加界面:允许用户输入学生的信息,并保存到数据库中。

- 学生信息修改界面:允许用户修改学生的信息,并保存到数据库中。

- 学生信息删除界面:允许用户选择要删除的学生信息,并从数据库中删除。

四、功能实现本系统的功能实现主要包括以下几个方面:1. 学生信息查询用户可以在主界面点击“查询”按钮,进入学生信息查询界面。

在查询界面,用户可以输入学号或姓名等查询条件,系统会显示符合条件的学生信息。

2. 学生信息添加用户可以在主界面点击“添加”按钮,进入学生信息添加界面。

在添加界面,用户需要输入学生的详细信息,如学号、姓名、性别、出生日期、政治面貌、家庭住址、电话、宿舍号等。

学生管理系统实验报告

学生管理系统实验报告

学生管理系统实验报告一、实验目的: 学习学生管理系统java程序编程、编写学生管理系统程序。

二、实验环境: 在软件Eclipse运行环境下运行1.实验步骤:2.在Eclipse环境中创建一个java工程, 然后创建学生管理系统类, 并在这类中编写代码。

3.调试代码, 并进行纠正。

4.检验试验结果, 查看是否符合要求。

5.得到结果。

实验内容代码:import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsglxt extends JFrame implements ActionListener { JPanel mb1,mb2;JLabel bq1;JTextField wbk1;JButton an1,an2,an3,an4;JTable bg1;JScrollPane gd1;Xsxx xsxx2;public static void main(String[] args){Xsglxt xs=new Xsglxt();}public Xsglxt(){mb1=new JPanel();bq1=new JLabel("请输入姓名");wbk1=new JTextField(10);an1=new JButton("查询");an1.addActionListener(this);an1.setActionCommand("chaxun");mb1.add(bq1);mb1.add(wbk1);mb1.add(an1); mb2=new JPanel();an2=new JButton("添加");an2.addActionListener(this);an2.setActionCommand("tianjia");an3=new JButton("修改");an3.addActionListener(this);an3.setActionCommand("xiugai");an4=new JButton("删除");an4.addActionListener(this);an4.setActionCommand("shanchu");mb2.add(an2);mb2.add(an3);mb2.add(an4);xsxx2=new Xsxx();bg1=new JTable(xsxx2);gd1=new JScrollPane(bg1);this.add(gd1);this.add(mb1,"North");this.add(mb2,"South");this.setTitle("学生管理系统");this.setSize(500,400);this.setLocation(201,181);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("chaxun")){String xingming=this.wbk1.getText().trim();String sql="select * from xuesheng where xingming='"+xingming+"'";xsxx2=new Xsxx(sql);bg1.setModel(xsxx2);else if(e.getActionCommand().equals("tianjia")){Tianjia tj=new Tianjia(this,"添加学生信息",true);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);}else if(e.getActionCommand().equals("xiugai")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this,"请选中要删除的行");return;}new Xiugai(this,"修改学生信息",true,xsxx2,ii);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);else if(e.getActionCommand().equals("shanchu")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this, "请选中要删除的行");return;}String st=(String)xsxx2.getValueAt(ii,0);PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sn=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");//String xuehao=this.wbk1.getText().trim();ps=ct.prepareStatement("delete from xuesheng where xuehao=?");ps.setString(1, st);ps.executeUpdate();}catch(Exception c2){e.paramString();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}}catch(Exception e3){}}xsxx2=new Xsxx();bg1.setModel(xsxx2);}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xiugai extends JDialog implements ActionListener { JLabel bq1, bq2, bq3, bq4, bq5, bq6;JTextField wbk1, wbk2, wbk3, wbk4, wbk5, wbk6;JButton an1, an2;JPanel mb1, mb2, mb3, mb4;public Xiugai(Frame fck, String ckm, Boolean msck, Xsxx xsxx2, int hang) {super(fck, ckm, msck);bq1 = new JLabel(" 学号");bq2 = new JLabel(" 姓名");bq3 = new JLabel(" 性别");bq4 = new JLabel(" 年龄");bq5 = new JLabel(" 籍贯");bq6 = new JLabel(" 院系");wbk1 = new JTextField(5);wbk1.setText((String) xsxx2.getValueAt(hang, 0));wbk1.setEditable(false);wbk2 = new JTextField(5);wbk2.setText((String) xsxx2.getValueAt(hang, 1));wbk3 = new JTextField(5);wbk3.setText((String) xsxx2.getValueAt(hang, 2)); wbk4 = new JTextField(5);wbk4.setText((String) xsxx2.getValueAt(hang, 3)); wbk5 = new JTextField(5);wbk5.setText((String) xsxx2.getValueAt(hang, 4)); wbk6 = new JTextField(5);wbk6.setText((String) xsxx2.getValueAt(hang, 5));an1 = new JButton("修改");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2 = new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1 = new JPanel();mb2 = new JPanel();mb3 = new JPanel();mb4 = new JPanel();mb1.setLayout(new GridLayout(6, 1));mb2.setLayout(new GridLayout(6, 1));mb1.add(bq1);mb1.add(bq2);mb1.add(bq3);mb1.add(bq4);mb1.add(bq5);mb1.add(bq6);mb2.add(wbk1);mb2.add(wbk2);mb2.add(wbk3);mb2.add(wbk4);mb2.add(wbk5);mb2.add(wbk6);mb3.add(an1);mb3.add(an2);this.add(mb1, BorderLayout.WEST); this.add(mb2);this.add(mb3, BorderLayout.SOUTH); this.add(mb4, BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 261);this.setResizable(false);//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;System.out.println("00000000000");try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");System.out.println("1111111111");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");System.out.println("222222222222");String ss=("update xuesheng set xingming=?,xingbie=?,nianling=?,jiguan=?,yuanxi=? where xuehao='"+wbk1.getText().trim()+"'");ps=ct.prepareStatement(ss);ps.setString(1, wbk2.getText());ps.setString(2, wbk3.getText());ps.setString(3, wbk4.getText());ps.setString(4, wbk5.getText());ps.setString(5, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e1) {e1.printStackTrace();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsxx extends AbstractTableModel {Vector ziduan,jilu;PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;public int getRowCount(){return this.jilu.size();}public int getColumnCount(){return this.ziduan.size();}public Object getValueAt(int hang,int lie){return (((Vector) this.jilu.get(hang)).get(lie)); }public Xsxx(){this.sqlyj("select * from xuesheng");}public Xsxx(String ss){this.sqlyj(ss);}public String getColumnName(int e)return (String)this.ziduan.get(e);}public void sqlyj(String sql){ziduan=new Vector();ziduan.add("学号");ziduan.add("姓名");ziduan.add("性别");ziduan.add("年龄");ziduan.add("籍贯");ziduan.add("所在院系");jilu=new Vector();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");ps=ct.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){Vector hang=new Vector();hang.add(rs.getString(1));hang.add(rs.getString(2));hang.add(rs.getString(3));hang.add(rs.getString(4));hang.add(rs.getString(5));hang.add(rs.getString(6));jilu.add(hang);}}catch (Exception e){e.printStackTrace();} finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e){} }}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Tianjia extends JDialog implements ActionListener{ JLabel bq1,bq2,bq3,bq4,bq5,bq6;JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6;JButton an1,an2;JPanel mb1,mb2,mb3,mb4;public Tianjia(Frame fck,String ckm,Boolean msck){super(fck,ckm,msck);bq1=new JLabel(" 学号");bq2=new JLabel(" 姓名");bq3=new JLabel(" 性别");bq4=new JLabel(" 年龄");bq5=new JLabel(" 籍贯");bq6=new JLabel(" 院系");wbk1=new JTextField(5);wbk2=new JTextField(5);wbk3=new JTextField(5);wbk4=new JTextField(5);wbk5=new JTextField(5);wbk6=new JTextField(5);an1=new JButton("添加");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2=new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1=new JPanel();mb2=new JPanel();mb3=new JPanel();mb4=new JPanel();mb1.setLayout(new GridLayout(6,1));mb2.setLayout(new GridLayout(6,1));mb1.add(bq1); mb1.add(bq2); mb1.add(bq3);mb1.add(bq4); mb1.add(bq5); mb1.add(bq6);mb2.add(wbk1); mb2.add(wbk2); mb2.add(wbk3);mb2.add(wbk4); mb2.add(wbk5); mb2.add(wbk6);mb3.add(an1); mb3.add(an2);this.add(mb1,BorderLayout.WEST);this.add(mb2);this.add(mb3,BorderLayout.SOUTH);this.add(mb4,BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 281);this.setResizable(false);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");String ss=("insert into xuesheng values(?,?,?,?,?,?)");ps=ct.prepareStatement(ss);ps.setString(1, wbk1.getText());ps.setString(2, wbk2.getText());ps.setString(3, wbk3.getText());ps.setString(4, wbk4.getText());ps.setString(5, wbk5.getText());ps.setString(6, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e2){}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}实验小结:实验原道的问题是刚开始时程序只能查询不能添加修改删除等, 经过老师指导后修改程序后, 程序就能完成各项操作了。

学生管理系统数据库设计代码java

学生管理系统数据库设计代码java

学生管理系统数据库设计代码java以下是一个简单的学生管理系统的数据库设计代码示例,使用Java语言实现:```javaimport java.sql.*;public class StudentManagementSystem {private Connection connection;public StudentManagementSystem() {try {// 连接数据库connection =DriverManager.getConnection('jdbc:mysql://localhost:3306/st udent_management_system?useUnicode=true&characterEncoding=u tf8','root', 'password');} catch (SQLException e) {e.printStackTrace();}}public void createTables() {try {Statement statement =connection.createStatement();// 创建学生表String createStudentTableSQL = 'CREATE TABLE students (' +'id INT PRIMARY KEY AUTO_INCREMENT,' + 'name VARCHAR(50) NOT NULL,' +'age INT NOT NULL,' +'gender VARCHAR(10) NOT NULL)';statement.executeUpdate(createStudentTableSQL);// 创建课程表String createCourseTableSQL = 'CREATE TABLE courses (' +'id INT PRIMARY KEY AUTO_INCREMENT,' + 'name VARCHAR(50) NOT NULL)';statement.executeUpdate(createCourseTableSQL);// 创建学生-课程关联表String createStudentCourseTableSQL = 'CREATE TABLE student_course (' +'student_id INT NOT NULL,' +'course_id INT NOT NULL,' +'PRIMARY KEY (student_id, course_id),' + 'FOREIGN KEY (student_id) REFERENCES students(id) ON DELETE CASCADE,' +'FOREIGN KEY (course_id) REFERENCES courses(id) ON DELETE CASCADE)';statement.executeUpdate(createStudentCourseTableSQL);statement.close();} catch (SQLException e) {e.printStackTrace();}}public void closeConnection() {try {if (connection != null) {connection.close();}} catch (SQLException e) {e.printStackTrace();}}public static void main(String[] args) {StudentManagementSystem system = new StudentManagementSystem();system.createTables();system.closeConnection();}}```这段代码创建了三个表: 'students', 'courses'和'student_course'。

java简单项目案例附讲解

java简单项目案例附讲解

java简单项目案例附讲解一、学生成绩管理系统项目简介:开发一个学生成绩管理系统,能够实现学生信息的录入、查询、修改和删除等功能,并能根据学生成绩进行排序和统计分析。

1. 学生信息录入:通过界面输入学生的基本信息包括学号、姓名、性别、年龄等,并能够录入学生的各科成绩。

2. 学生信息查询:提供学生信息的查询功能,可以按学号或姓名进行查询,查询结果展示学生的基本信息和各科成绩。

3. 学生信息修改:允许对学生的基本信息和成绩进行修改,包括姓名、性别、年龄、各科成绩等。

4. 学生信息删除:提供删除学生信息的功能,可以根据学号或姓名进行删除操作。

5. 学生成绩排序:能够按照总分或某一科目的成绩对学生进行排序,可以选择升序或降序排列。

6. 学生成绩统计:能够对学生的各科成绩进行统计分析,包括平均分、最高分、最低分等。

7. 数据存储:使用数据库或文件存储学生的信息和成绩数据,保证数据的可靠性和安全性。

二、图书管理系统项目简介:开发一个图书管理系统,能够实现图书的录入、借阅、归还和查询等功能,能够对借阅情况进行管理和统计。

1. 图书录入:通过界面输入图书的基本信息包括书名、作者、出版社、出版日期等,并生成唯一的图书编号。

2. 图书借阅:提供图书借阅功能,学生或教师可以通过输入图书编号进行借阅操作,并记录借阅人和借阅日期。

3. 图书归还:提供图书归还功能,借阅人可以通过输入图书编号进行归还操作,并记录归还日期。

4. 图书信息查询:能够根据图书编号或关键字进行图书信息的查询,查询结果展示图书的基本信息和借阅情况。

5. 借阅情况管理:能够对图书的借阅情况进行管理,包括借阅人、借阅日期、归还日期等。

6. 图书统计分析:能够对图书的借阅情况进行统计分析,包括借阅次数、借阅人数等。

7. 数据存储:使用数据库或文件存储图书的信息和借阅情况,保证数据的可靠性和安全性。

三、在线购物系统项目简介:开发一个在线购物系统,能够实现用户的注册、登录、商品浏览、购买和订单管理等功能,提供安全、便捷的购物体验。

学生信息管理系统java课程设计代码

学生信息管理系统java课程设计代码

学生信息管理系统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);}}```四、总结通过以上的代码示例,我们可以看到一个简单的学生信息管理系统的实现框架。

java+JDBC小项目《学生管理系统》源码带注解

java+JDBC小项目《学生管理系统》源码带注解

Java+javabean+JDBC学生管理系统一、项目结构本项目是使用javabean和jdbc做的,这个包是实体包这个是菜单包,源码不会再发这些,自己写就好了。

二、项目运行结果三、源码废话不多说,直接上源码:这两个是关键源码,是负责登录和学生信息操作的逻辑类:public class AdminDaoImpl extends DBHelper implements AdminDao { Admin admin = null;/*** 登录*/@SuppressWarnings("resource")@Overridepublic Admin login(String name) {String sql = "select * from admin where username=?";Object[] param = {name};Object obj = this.excute(sql, param);ResultSet rs = (ResultSet) obj;try {while (rs.next()) {admin = new Admin();String username = rs.getString("username");String password = rs.getString("password");admin.setUsername(username);admin.setPassword(password);}} catch (SQLException e) {System.out.println("未找到此name");}return admin;}}public class StudentDaoImpl extends DBHelper implements StudentDao {Student stu = null;List<Student> list = null;@SuppressWarnings("resource")@Overridepublic Student getInfoByid(int id) {String sql = "select * from student where id=?";Object[] param = { id };Object obj = this.excute(sql, param);ResultSet rs = (ResultSet) obj;stu = new Student();try {while (rs.next()) {stu.setId(rs.getInt("id"));stu.setName(rs.getString("name"));stu.setAge(rs.getInt("age"));stu.setGender(rs.getString("gender"));stu.setGrade(rs.getString("grade"));stu.setPhone(rs.getLong("phone"));stu.setEmail(rs.getString("email"));stu.setAddress(rs.getString("address"));}} catch (SQLException e) {e.printStackTrace();} finally {this.closeAll();}return stu;}@SuppressWarnings("resource")@Overridepublic List<Student> getAllStu() {String sql = "select * from student";Object obj = this.excute(sql, null);ResultSet rs = (ResultSet) obj;list = new ArrayList<Student>();try {while (rs.next()) {stu = new Student();stu.setId(rs.getInt("id"));stu.setName(rs.getString("name"));stu.setAge(rs.getInt("age"));stu.setGender(rs.getString("gender"));stu.setGrade(rs.getString("grade"));stu.setPhone(rs.getLong("phone"));stu.setEmail(rs.getString("email"));stu.setAddress(rs.getString("address"));list.add(stu);}} catch (SQLException e) {e.printStackTrace();} finally {this.closeAll();}return list;}@SuppressWarnings("resource")@Overridepublic String getNameById(int id) {String name = null;String sql = "select name from student where id=?";Object[] param = { id };Object obj = this.excute(sql, param);ResultSet rs = (ResultSet) obj;try {while (rs.next()) {name = rs.getString("name");}} catch (SQLException e) {e.printStackTrace();} finally {this.closeAll();}return name;}@SuppressWarnings("resource")@Overridepublic int getidByIntput(int id) {int num = 0;String sql = "select id from student where id=?";Object[] param = { id };Object obj = this.excute(sql, param);ResultSet rs = (ResultSet) obj;try {while (rs.next()) {num = rs.getInt("id");}} catch (SQLException e) {e.printStackTrace();} finally {this.closeAll();}return num;}@Overridepublic boolean addStudent(Object[] param) {boolean b = false;String sql = "insert into student values(?,?,?,?,?,?,?,?)";Object obj = this.excute(sql, param);b = (boolean) obj;return b;}@Overridepublic boolean removeStuById(int id) {boolean b = false;String sql = "delete from student where id=?";Object[] param = { id };Object obj = this.excute(sql, param);b = (boolean) obj;return b;}@Overridepublic boolean modifyAllStuById(Student stu) {boolean b = false;String sql = "update student set age = ?,grade=?,address=?,phone=?,email=? where id = ?";Object[] param = { stu.getAge(), stu.getGrade(), stu.getAddress(),stu.getPhone(), stu.getEmail(), stu.getId() };Object obj = this.excute(sql, param);b = (boolean) obj;return b;}@Overridepublic boolean modifyPartStuById(Student stu, String attr) { boolean b = false;if (attr.equals("age")) {String sql = "update student set age =? where id=?";Object[] param = { stu.getAge(), stu.getId() };Object obj = this.excute(sql, param);b = (boolean) obj;} else if (attr.equals("grade")) {String sql = "update student set grade =? where id=?";Object[] param = { stu.getGrade(), stu.getId() };Object obj = this.excute(sql, param);b = (boolean) obj;} else if (attr.equals("address")) {String sql = "update student set address =? where id=?";Object[] param = { stu.getAddress(), stu.getId() };Object obj = this.excute(sql, param);b = (boolean) obj;} else if (attr.equals("phone")) {String sql = "update student set phone =? where id=?";Object[] param = { stu.getPhone(), stu.getId() };Object obj = this.excute(sql, param);b = (boolean) obj;} else if (attr.equals("email")) {String sql = "update student set email =? where id=?";Object[] param = { stu.getEmail(), stu.getId() };Object obj = this.excute(sql, param);b = (boolean) obj;}return b;}}好吧,到此为止,逻辑算是完成了,接下来就是工具包,也就是JDBC通式public class DBHelper {private static final String url= "jdbc:mysql://localhost:3306/sms?characterEncoding=utf-8";private static final String Driver = "com.mysql.jdbc.Driver";private static final String name = "root";private static final String pwd = "sa123456";private Connection conn = null;private PreparedStatement pstmt = null;private ResultSet rs = null;/*** 创建数据库连接** @returnpublic Connection Getconn() {try {Class.forName(Driver);conn = DriverManager.getConnection(url, name, pwd);} catch (ClassNotFoundException e) {System.out.println("注册驱动失败");} catch (SQLException e) {System.out.println("驱动包路径错误");}return conn;}public Object excute(String sql, Object[] param) { int a = 0;Object o = null;this.Getconn();try {pstmt = conn.prepareStatement(sql);if (param != null) {for (int i = 0; i < param.length; i++) {pstmt.setObject(i + 1, param[i]);}}boolean b = pstmt.execute();if (b) {rs = pstmt.getResultSet();o = rs;} else {a = pstmt.getUpdateCount();if (a > 0) {o = true;} else {o = false;}closeAll();}} catch (SQLException e) {e.printStackTrace();}return o;}* 关闭数据库*/public void closeAll() {try {if (rs != null) {rs.close();}if (pstmt != null) {pstmt.close();}if (conn != null) {conn.close();}} catch (SQLException e) {System.out.println("错误关闭");}}}至于这个类,是一些控制台输入信息判断,当然可以贴出来供大家参考~/*** 匹配信息** @author Administrator**/public class Matches {Scanner input = new Scanner(System.in);static String id = null;static String gender = null;static String age = null;static String grade = null;static String phone = null;static String email = null;/*** 匹配id** @return*/public String matchesId() {id = input.next();if (Pattern.matches("^[0-9]{1,}$", id)) {} else {System.out.println("输入错误,只能输入数字:");this.matchesId();}return id;}/*** 匹配性别** @return*/public String matchesGender() {gender = input.next();if (!(gender.equals("男") || gender.equals("女"))) { System.out.println("性别只能是男或者女:");this.matchesGender();}return gender;}/*** 匹配年龄** @return*/public int matchesAge() {age = input.next();if (!Pattern.matches("^[0-9]{1,}$", age)) {System.out.println("以上输入不合法,只能输入1-120之内的数字:");this.matchesAge();} else if(Integer.valueOf(age) < 1 || Integer.valueOf(age) > 120) {System.out.println("以上输入不合法,只能输入1-120之内的数字:");this.matchesAge();}return Integer.parseInt(age);}* 匹配年级** @return*/public String matchesGrade() {grade = input.next();if(!(grade.equals("初级") || grade.equals("中级") || grade.equals("高级"))) {System.out.println("无此年级设置,年级只能输入初级、中级或高级,请重新输入:");this.matchesGrade();}return grade;}/*** 匹配手机号** @return*/public long matchesPhone() {phone = input.next();if (!Pattern.matches("^[0-9]{11}$", phone)) {System.out.println("输入有误,电话号码只能是11位数字,请重新输入:");this.matchesPhone();}return Long.parseLong(phone);}/*** 匹配email** @return*/public String matchesEmail() {email = input.next();if(!Pattern.matches("^[0-9a-zA-Z]+@[0-9a-zA-Z]+.[0-9a-zA-Z]+$", email)) {System.out.println("邮箱格式有误,请输入正确的电子邮箱(包含@和.com)");this.matchesEmail();return email;}}好了,别的我就不说了,怎么调用,我更就不用说了吧?本文为原创作品,转载需注明出处。

JAVA课程设计学生信息管理系统代码

JAVA课程设计学生信息管理系统代码

JAVA课程设计学生信息管理系统代码某Tochangethitemplate,chooeTool|Template某andopenthetemplateintheeditor.某/packagetudentinfo;importjava.awt.某;importjava某.wing.某;importjava.awt.event.某;importjava.awt.某;importjava.awt.event.某;importjava.util.某;importjava某.wing.border.某;importjava某.wing.JOptionPane;importjava某.wing.JLabel;importjava某.wing.JPanel;importjava某.wing.table.DefaultTableModel; importjava某.wing.table.TableColumn;importjava.ql.某;importjava.awt.GridLayout;//网格式布局//导入javar需要的jar包publicclaStudentInfo{publicStudentInfo()//构造方法{}publictaticvoidmain(String[]arg){//TODOcodeapplicationlogichereloginFramelf=newloginFrame();//加载窗体lf.etViible(true);//设置窗体可见lf.addWindowLitener(newWindowAdapter()//添加窗口监听以接受关闭事件{publicvoidwindowCloing(WindowEvente){Sytem.e某it(0);}});}}//学生成绩管理系统界面clamainFramee某tendJFrameimplementActionLitener{MenuBarmyMenuBar=newMenuBar();//菜单MenuItemmiNew,miOpen,miSave,miSaveA,miE某it;MenuItemmiAdd,miEdit,miDel,miFind,miShow,miUer,miAbout;public JTabletable=newJTable();//表格publicDefaultTableModelmm;//表格模型publicmainFrame(){myMenuFile=newMenu("文件");miNew=newMenuItem("新建");miOpen=newMenuItem("打开");miSave=newMenuItem("保存");miE某it=newMenuItem("退出");//miNew.enable(fale);//miOpen.enable(fale);//miSave.enable(fa le);//myMenuFile.add(miNew);//myMenuFile.add(miOpen);//myMenuFil e.add(miSave);myMenuFile.add(miE某it);myMenuEdit=newMenu("数据编辑");miFind=newMenuItem("查找数据");miAdd=newMenuItem("添加数据");miEdit=newMenuItem("修改数据");miDel=newMenuItem("删除数据");miShow=newMenuItem("全部显示");myMenuEdit.add(miFind);myMenuEdit.add(miAdd);myMenuEdit.add(m iEdit);myMenuEdit.add(miDel);myMenuEdit.add(miShow);myMenuUer=ne wMenu("用户管理");miUer=newMenuItem("编辑用户");myMenuUer.add(miUer);myMenuAbout=newMenu("关于我");miAbout=newMenuItem("我的信息");myMenuAbout.add(miAbout);myMenuBar.add(myMenuFile);myMenuBar.add(myMenuEdit);myMenuBar.add(myMenuUer);myMenuBar.add(myMenuAbout);String[]col={"学号","姓名","性别","班级","专业","大学语文","大学英语","高等数学"};//创建属性列名table.etModel(mm);JScrollPanetableScrollPane=newJScrollPane( table);//设置滚动条thi.etMenuBar(myMenuBar);thi.add(tableScrollPane);miE某it.addActionLitener(thi);//为各按钮注册事件监听器对象miFind.addActionLitener(thi);miAdd.addActionLitener(thi);miEdit. addActionLitener(thi);miDel.addActionLitener(thi);miShow.addActi onLitener(thi);miUer.addActionLitener(thi);miAbout.addActionLite ner(thi);}publicvoidfrehTable(Stringql){myConnectionconn=newmyCo nnection();//获得数据库连接ReultSetr;//保存查询返回结果对象r=conn.getReult(ql);if(r!=null){try{mm.etRowCount(0);table.etMod el(mm);while(r.ne某t()){String学号=r.getString("学号");String姓名=r.getString("姓名");String性别=r.getString("性别");String班级=r.getString("班级");String专业=r.getString("专业");String大学语文=r.getString("大学语文");String大学英语=r.getString("大学英语");String高等数学=r.getString("高等数学");String[]cloumn={学号,姓名,性别,班级,专业,大学语文,大学英语,高等数学};mm.addRow(cloumn);}//table.clearSelection();table.etModel(mm );}catch(E某ceptione){}}}//捕获异常publicvoidactionPerformed(ActionEvente)//重载动作事件接口中的方法{//退出if(e.getSource()==miE某it){Sytem.e 某it(0);//查找}eleif(e.getSource()==miFind){findFrameff=newfindFrame(thi);ff .etViible(true);//添加}eleif(e.getSource()==miAdd){addFrameaf=newaddFrame(thi);af.et Viible(true);//修改}eleif(e.getSource()==miEdit){if(table.getSelectedRow()==-1){JOptionPane.howMeageDialog(null,"请选择你要修改的内容","温馨提示",RMATION_MESSAGE);//弹窗提示}{editFrameef=neweditFrame(thi);ef.学号.etTe某t((String)table.getValueAt(table.getSelectedRow(),0));ef.姓名.etTe某t((String)table.getValueAt(table.getSelectedRow(),1));ef.性别.etTe某t((String)table.getValueAt(table.getSelectedRow(),2));ef.班级.etTe某t((String)table.getValueAt(table.getSelectedRow(),3));ef.专业.etTe某t((String)table.getValueAt(table.getSelectedRow(),4));ef.大学语文.etTe某t((String)table.getValueAt(table.getSelectedRow(),5));ef.大学英语.etTe某t((String)table.getValueAt(table.getSelectedRow(),6));ef.高等数学.etTe某t((String)table.getValueAt(table.getSelectedRow(),7));ef.etViibl e(true);thi.frehTable("elect某from学生成绩表");//刷新表格}//删除eleif(e.getSource()==miDel){if(table.getSelectedRow()==-1){JOptionPane.howMeageDialog(null,"请选择你要删除的行","温馨提示",RMATION_MESSAGE);}ele{Stringql="deletefrom学生成绩表where学号='"+table.getValueAt(table.getSelectedRow(),0)+"'";//JOptionPane.howMeageDialog(null,ql,"温馨提示",RMATION_MESSAGE);myConnectionconn=newmyConnection();if(conn.e某ecuteSql(ql)){JOptionPane.howMeageDialog(null,"成功删除","温馨提示",RMATION_MESSAGE);thi.frehTable("elect某from学生成绩表");ele{JOptionPane.howMeageDialog(null,"未知错误","删除失败",RMATION_MESSAGE);}}//显示}eleif(e.getSource()==miShow){//JOptionPane.howMeageDialog(null,"未知错误","删除失败",RMATION_MESSAGE);thi.frehTable("elect某from学生成绩表");//编辑用户}eleif(e.getSource()==miUer){uerFrameuf=newuerFrame();uf.etViible(true);//作业说明}eleif(e.getSource()==miAbout){aboutFrameaf=newaboutFrame();af.etViible(true);}}}clamyConnection{ReultSetre;Stringtrurl="jdbc:odbc:driver={MicrooftAcceDriver(某.mdb)};D BQ=学生管理数据库.mdb";//Stringtrurl="jdbc:odbc:driver={MicrooftAcceDriver(某.mdb)} ;DBQ=学生管理数据库.mdb";//Stringtrurl="jdbc:odbc:cah";//cah为数据源名称publicmyConnection(){}publicReultSetgetReult(Stringql){try{Cla.forName("un.jdbc.odbc.JdbcOdbcDriver");Connectionconn=DriverManager.getConnection(trurl);Statementtmt=conn.createStatement(ReultSet.TYPE_SCROLL_SENSITIVE,Reul tSet.CONCUR_UPDATABLE);ReultSetre=tmt.e某ecuteQuery(ql);returnre;}catch(E某ceptione){e.printStackTrace();//异常处理returnnull;}}publicbooleane某ecuteSql(Stringql){try{Cla.forName("un.jdbc.odbc.JdbcOdbcDriver"); Connectionconn=DriverManager.getConnection(trurl); Statementtmt=conn.createStatement();tmt.e某ecuteUpdate(ql);mit();returntrue;}catch(E某ceptione){e.printStackTrace();returnfale;}}}claaddFramee某tendJDialogimplementActionLitener {publictaticfinalintWIDTH=400;publictaticfinalintHEIGHT=400;JLabel学号1,姓名1,性别1,班级1,专业1,大学语文1,大学英语1,高等数学1;JTe某tField学号,姓名,性别,班级,专业,大学语文,大学英语,高等数学;JButtonb;JPanelp;mainFramemf;publicaddFrame(mainFramemmf){etT itle("添加学生成绩");etSize(WIDTH,HEIGHT);etLocation(120,180);ContainercontentPane =getContentPane();//创建一个容器对象contentPane.etLayout(newFlowLayout());//流式布局学号1=newJLabel("学号");姓名1=newJLabel("姓名");性别1=newJLabel("性别");班级1=newJLabel("班级");专业1=newJLabel("专业");大学语文1=newJLabel("大学语文");大学英语1=newJLabel("大学英语");高等数学1=newJLabel("高等数学");学号=newJTe某tField(5);姓名=newJTe某tField(5);性别=newJTe某tField(5);班级=newJTe某tField(5);专业=newJTe某tField(5);大学语文=newJTe某tField(5);大学英语=newJTe 某tField(10);高等数学=newJTe某tField(10);b=newJButton("确定");p=newJPanel();p.etLayout(newGridLayout(10,2,5,5));//表格布局p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(大学语文1);p.add(大学语文);p.add(大学英语1);p.add(大学英语);p.add(高等数学1);p.add(高等数学);p.add(newLabel(""));p.add(newLabel(""));p.add(b);contentPane .add(p);//添加按钮监听器b.addActionLitener(thi);mf=mmf;}publicvoidactionPerformed(ActionEvente){if(学号.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入学号","温馨提示",RMATION_MESSAGE);}eleif(姓名.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入姓名","温馨提示",RMATION_MESSAGE);}eleif(大学语文.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入大学语文","温馨提示",RMATION_MESSAGE);}ele{Stringql="elect某from学生成绩表where学号='"+学号.getTe某t()+"'";myConnectionconn=newmyConnection();ReultSetr;r=conn.getReult (ql);try{//Sytem.out.println(r.getRow());if(r.ne某t()){ JOptionPane.howMeageDialog(null,"此学号已经存在","温馨提示",RMATION_MESSAGE);误信息}//添加学生的时候,发现数据库已经有了,提示你学号已经存在,报错ele{ql="inertinto学生成绩表value('"+学号.getTe某t()+"','"+姓名.getTe某t()+"','"+性别.getTe某t()+"','"+班级.getTe某t()+"','"+专业.getTe某t()+"','"+大学语文.getTe某t()+"','"+大学英语.getTe某t()+"','"+高等数学.getTe某t()+"')";//实行数据库插入的语句if(conn.e某ecuteSql(ql))//插入语句{JOptionPane.howMeageDialog(null,"添加成功","温馨提示",RMATION_MESSAGE);}ele{mf.frehTable("elect某from学生成绩表");学号.etTe某t("");姓名.etTe某t("");性别.etTe某t("");班级.etTe某t("");专业.etTe某t("");大学语文.etTe某t("");大学英语.etTe某t("");高等数学.etTe某t("");JOptionPane.howMeageDialog(null,"添加失败","温馨提示",RMATION_MESSAGE);}//插入失败}}catch(E某ceptioner){Sytem.out.println(er.toString());}}}}claeditFramee某tendJDialogimplementActionLitener{publictaticfinalintWIDTH=400;publictaticfinalintHEIGHT=400;JLabel学号1,姓名1,性别1,班级1,专业1,大学语文1,大学英语1,高等数学1;JTe某tField学号,姓名,性别,班级,专业,大学语文,大学英语,高等数学;JButtonb;JPanelp;mainFramemf;publiceditFrame(mainFramemmf){et Title("修改学生信息");etSize(WIDTH,HEIGHT);etLocation(120,180);ContainercontentPane =getContentPane();contentPane.etLayout(newFlowLayout());学号1=newJLabel("学号");姓名1=newJLabel("姓名");性别1=newJLabel("性别");班级1=newJLabel("班级");专业1=newJLabel("专业");大学语文1=newJLabel("大学语文");大学英语1=newJLabel("大学英语");高等数学1=newJLabel("高等数学");学号=newJTe某tField(5);姓名=newJTe某tField(5);性别=newJTe某tField(5);班级=newJTe某tField(5);专业=newJTe某tField(5);大学语文=newJTe某tField(5);大学英语=newJTe 某tField(10);高等数学=newJTe某tField(10);学号.etEnabled(fale);b=newJButton("确定");p=newJPanel();p.etLayout(newGridLayout(10,2,5,5));p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(大学语文1);p.add(大学语文);p.add(大学英语1);p.add(大学英语);p.add(高等数学1);p.add(高等数学);p.add(newLabel(""));p.add(newLabel(""));p.add(b);contentPane .add(p);//添加按钮监听器b.addActionLitener(thi);mf=mmf;}//这是画界面publicvoidactionPerformed(ActionEvente){if(学号.getTe某t().toString().equal(""))//判断{JOptionPane.howMeageDialog(null,"请输入学号","温馨提示",RMATION_MESSAGE);//弹出的小窗口提示}eleif(姓名.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入姓名","温馨提示",RMATION_MESSAGE);}eleif(大学语文.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入大学语文","温馨提示",RMATION_MESSAGE);}ele{Stringql="update学生成绩表et姓名='"+姓名.getTe某t()+"',性别='"+性别.getTe某t()+"',班级='"+班级.getTe某t()+"',专业='"+专业.getTe某t()+"',大学语文='"+大学语文.getTe某t()+"',大学英语='"+大学英语.getTe某t()+"',高等数学='"+高等数学.getTe某t()+"'where学号='"+学号.getTe某t()+"'";myConnectionconn=newmyConnection();//打开数据库的连接try{//JOptionPane.howMeageDialog(null,ql,"温馨提示",RMATION_MESSAGE);if(conn.e某ecuteSql(ql))//执行ql语句,弹出窗口,查询学生表刷新table{JOptionPane.howMeageDialog(null,"修改成功","温馨提示",RMATION_MESSAGE);mf.frehTable("elect某from学生成绩表");thi.dipoe();//关闭当前窗体对象,隐藏}ele{JOptionPane.howMeageDialog(null,"修改失败","温馨提示",RMATION_MESSAGE);}}catch(E某ceptioner){er.printStackTrace();}}}}clafindFramee某tendJDialogimplementActionLitener{mainFramemf;JPanelp;JTe某tFieldt;JButtonb;JButtonfAll;Stringql="elect某fromtudent";String[]colStr={"学号","姓名","性别","班级","专业","大学语文","大学英语","高等数学"};publicfindFrame(mainFramemmf) {mf=mmf;p=newJPanel();t=newJTe某tField(10);b=newJButton("查找");fAll=newJButton("全部显示");b.addActionLitener(thi);fAll.addActionLitener(thi);p.add(newJLabel("选择"));p.add(c);p.add(newJLabel("查找内容"));p.add(t);p.add(b);p.add(fAll);thi.add(p);thi.etTitle("查找");thi.etSize(450,80);}publicvoidactionPerformed(ActionEvente){//查找if(e.getSource()==b){StringelectStr=c.getSelectedItem().toString(); if(electStr=="大学英语"){ql="elect某from学生成绩表"+t.getTe某t().toString();}ele{ql="elect某from学生成绩表'"+t.getTe某t().toString()+"'";}mf.frehTable(ql);//全部显示}if(e.getSource()==fAll){ql="elect某from学生成绩表";mf.frehTable(ql);}//监听程序,选择查成绩,最后是重新刷新table }}claaboutFramee某tendJDialog//关于我的信息{aboutFrame(){JPanelp1=newJPanel();where"+electStr+"where"+electStr+"== clauerFramee某tendJFrameimplementActionLitener//用户密码{JTe某tFielduer,pa;JButtonadd,del;JTablet;JPanelp1,p2,p3,p4,p5;DefaultTableModelm;publicuerFrame(){p1=newJPanel();p2=newJPanel();p3=newJPanel();p4=newJPanel();p5=newJPanel();uer=newJTe某tField(8);pa=newJTe某tField(8);add=newJButton("添加");del=newJButton("删除");String[]col={"用户名","密码"};m=newDefaultTableModel(col,0);t=newJTable();t.etModel(m);JScr ollPanep=newJScrollPane(t);p1.add(newJLabel("用户名"));p1.add(uer);p1.add(newJLabel("密码"));p1.add(pa);p1.add(add);p2.add(p);p3.add(del);add.addActionLi tener(thi);del.addActionLitener(thi);myConnectionconn=newmyConne ction();ReultSetr;r=conn.getReult("elect某from管理员");//开始时连接数据库,查询数据,返回结果集,if(r!=null){//把查询结果放到table里面try{//m.etRowCount(0);//table.etModel(mm);while(r.ne某t()){String用户名=r.getString("用户名");String密码=r.getString("密码");String[]cloumn={用户名,密码};m.addRow(cloumn);}t.etModel(m);}catch(E某ceptione){Sytem.out.println(e.toString());}}thi.add(p1,BorderLay out.NORTH);thi.add(p2,BorderLayout.CENTER);thi.add(p3,BorderLayo ut.SOUTH);thi.add(p4,BorderLayout.WEST);thi.add(p5,BorderLayout. EAST);thi.etTitle("用户管理");thi.etSize(600,400);}publicvoidactionPerformed(ActionEvente){ //用户添加if(e.getSource()==add){if(uer.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入用户名","温馨提示",RMATION_MESSAGE);eleif(pa.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入密码","温馨提示",RMATION_MESSAGE);}elemyConnectionconn=newmyConnection();ReultSetr;try{r=conn.getReult("elect某from管理员where用户名='"+uer.getTe某t().toString()+"'");if(r.ne某t()){JOptionPane.howMeageDialog(null,"此用户已经存在","温馨提示",RMATION_MESSAGE);}ele{if(conn.e某ecuteSql("inertinto管value('"+uer.getTe某t().toString()+"','"+pa.getTe某t().toString()+"')"))String[]newUer={uer.getTe某t(),pa.getTe某t()};m.addRow(newUer);t.etModel(m);理员JOptionPane.howMeageDialog(null,"添加成功","温馨提示",RMATION_MESSAGE);}ele{JOptionPane.howMeageDialog(null,"添加失败","温馨提示",RMATION_MESSAGE);}}}catch(E某ceptioner){Sytem.out.println(er.toString());}}//删除}eleif(e.getSource()==del){if(t.getSelectedRow()==-1){JOptionPane.howMeageDialog(null,"请选择你要删除的行","温馨提示",RMATION_MESSAGE);}ele{=",Stringql="deletefrom管理员where用户名'"+t.getValueAt(t.getSelectedRow(),0)+"'";//JOptionPane.howMeage Dialog(null,ql,"温馨提示RMATION_MESSAGE);myConnectionconn=newmyConnection();if(conn.e某ecuteSql(ql)){m.removeRow(t.getSelectedRow());t.etModel(m);//t.removeRowSelectionInterval();JOptionPane.howMeageDialog(null,"成功删除","温馨提示",RMATION_MESSAGE);}ele{JOptionPane.howMeageDialog(null,"未知错误","删除失败",RMATION_MESSAGE);}}}}}claloginFramee某tendJDialogimplementActionLitener//登陆{JPanelp;JTe某tFielduer,pa;JButtonlogin,cancel;publicloginFrame(){p=newJPanel();uer=newJTe某tField(10);pa=newJTe某tField(10);login=newJButton("登录");cancel=newJButton("退出");uer.etTe某t("");pa.etTe某t("");login.addActionLitener(thi);cancel.addActionLitener(thi);p.add(newJLabel("账号"));p.add(uer);p.add(newJLabel("密码"));p.add(pa);p.add(login);p.add(cancel);thi.add(p);thi.etTitle("学生成绩管理系统");JLabelimg=newJLabel(newImageIcon("1.jpg"));p.add(img);thi.etSize(700,600);}publicvoidactionPerformed(ActionEvente){//查找if(e.getSource()==login){if(uer.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入用户名","温馨提示",RMATION_MESSAGE);}eleif(pa.getTe某t().toString().equal("")){JOptionPane.howMeageDialog(null,"请输入密码","温馨提示",RMATION_MESSAGE);}ele{myConnectionconn=newmyConnection();ReultSetr;Stringql="elect某from管理员where用户名='"+uer.getTe某t().toString()+"'and密码='"+pa.getTe某t().toString()+"'";try{r=conn.getReult(ql);if(r.ne某t()){thi.dipoe();//JOptionPane.howMeageDialog(null,"此用户已经存在","温馨提示",RMATION_MESSAGE);ql="elect某from学生成绩表";mainFramemf=newmainFrame();mf.etTitle("学生成绩管理系统");mf.etSize(600,486);mf.frehTable(ql);mf.etViible(true);mf.addWindowLitener(newWindowAdapter(){publicvoidwindowCloing(WindowEvente){Sytem.e某it(0);}});}ele{JOptionPane.howMeageDialog(null,"用户名或密码错误","登录失败",RMATION_MESSAGE);}}catch(E某ceptioner){Sytem.out.println(er.toString());}}}}//全部显示}if(e.getSource()==cancel){Sytem.e某it(0);}。

基于 java 的学生信息管理系统设计与实现

基于 java 的学生信息管理系统设计与实现

基于java 的学生信息管理系统设计与实现一、需求分析本学生信息管理系统的主要功能有以下几点:1、实现学生信息的添加、修改和删除;2、查询学生个人信息以及学生信息列表;3、实现用户的登录和注册功能;4、支持用户修改个人密码、找回密码和注销账号功能;5、管理员用户能够对用户的权限进行管理;6、管理员用户能够添加、修改或删除学院、专业、班级等相关信息;7、管理员用户能够生成各种报表,如学生信息统计、成绩统计、考试统计等。

为了实现以上需求,我们需要对系统做如下分析:1、用Java 做后端开发,采用Springboot 框架搭建项目;2、使用MySQL 数据库存储学生信息、用户信息、管理员信息、学院信息、专业信息和班级信息等数据;3、使用Thymeleaf 模板引擎实现前端页面的渲染;4、使用Bootstrap 前端框架实现页面样式的美化;5、使用Spring security 实现用户登录和注册功能,并限制未登录用户的访问;6、使用Mybatis 实现数据库的操作;7、使用POI 实现报表的生成。

二、系统设计1、系统架构设计本系统采用传统的三层架构,包括表示层、业务逻辑层和数据访问层:(1)表示层:表示层部分采用ThymeLeaf 模板引擎实现,使用Bootstrap 全面优化了整个系统的页面展示效果,使用户操作更加方便和直观。

(2)业务逻辑层:业务逻辑层主要处理用户的请求,包括前端发送的AJAX 请求、表单提交请求、用户登录/注册请求等,主要包含控制器及服务层代码。

(3)数据访问层:数据访问层主要使用Mybatis 框架进行数据库的操作。

2、数据库设计本学生信息管理系统使用MySQL 数据库,主要分为6 张表:(1)学生信息表(student)序号字段名字段类型字段说明1 id int 学生编号2 name varchar(40) 学生姓名3 gender varchar(5) 学生性别4 birthday date 出生日期5 address varchar(100) 家庭住址6 academy_id int 所属学院编号7 major_id int 所属专业编号8 class_id int 所属班级编号(2)学院信息表(academy)序号字段名字段类型字段说明1 id int 学院编号2 name varchar(40) 学院名称(3)专业信息表(major)序号字段名字段类型字段说明1 id int 专业编号2 name varchar(40) 专业名称3 academy_id int 所属学院编号(4)班级信息表(class)序号字段名字段类型字段说明1 id int 班级编号2 name varchar(40) 班级名称3 major_id int 所属专业编号(5)用户信息表(user)序号字段名字段类型字段说明1 id int 用户编号2 username varchar(40) 用户名3 password varchar(40) 用户密码4 role varchar(10) 用户角色(6)管理员信息表(admin)序号字段名字段类型字段说明1 id int 管理员编号2 name varchar(40) 管理员姓名3 username varchar(40) 管理员账号4 password varchar(40) 管理员密码3、模块设计本学生信息管理系统主要包含了以下几个模块:(1)用户模块:该模块实现了用户登录、注册、找回密码、修改密码、注销账户等功能。

基于java的学生宿舍管理系统设计与实现

基于java的学生宿舍管理系统设计与实现

基于java的学生宿舍管理系统设计与实现在这个数字化飞速发展的时代,要是想让学生宿舍管理变得井井有条,基于Java设计一个学生宿舍管理系统那可真是个超棒的主意。

咱先说说这Java吧,就像是一个超级万能的工具包。

它里面各种各样的类和方法就如同工具箱里形状各异的工具,能让我们按照自己的想法去构建这个宿舍管理系统。

那这个学生宿舍管理系统到底得有啥功能呢?你得能管理学生信息吧。

这就好比是管理一个装满宝藏的盒子,每个学生就是一颗独特的宝藏。

姓名、学号、性别、班级这些信息都得清清楚楚地记录下来。

这就像我们认识一个新朋友,总得知道人家叫啥,来自哪里一样。

要是没有把这些信息管理好,那整个宿舍管理不就乱成一锅粥了吗?宿舍分配也很重要。

这就像分蛋糕,得公平合理。

把不同的学生分配到合适的宿舍,要考虑到各种因素,比如专业、年级,甚至是生活习惯。

这时候,Java的算法就可以发挥大作用了。

可以根据设定好的规则,自动把学生分到合适的宿舍,就像有个看不见的小管家在默默地安排一切。

费用管理也不能少啊。

宿舍可能会有住宿费、水电费这些费用。

这就像我们日常生活中的收支账本,每一笔进出都得明明白白。

在系统里,得能够记录每个学生的费用缴纳情况,谁交了,谁没交,交了多少,都要清清楚楚。

要是有学生欠费了,系统也得能及时提醒,就像闹钟一样,到点就响,提醒大家该做什么了。

在设计这个系统的时候,数据库的设计就像是盖房子打地基。

关系型数据库就很合适,就像一个超级规整的仓库,把各种数据整整齐齐地存放起来。

每个表就像仓库里的不同货架,专门存放不同类型的数据。

比如说,有一个表存放学生信息,另一个表存放宿舍信息,它们之间又有着千丝万缕的联系,就像货架之间的过道,方便我们在需要的时候找到关联的数据。

界面设计也得人性化。

这系统是给人用的,要是界面做得跟天书一样复杂,谁还愿意用啊?得让宿管老师或者学生一看就懂,操作起来方便快捷。

这就像我们去超市买东西,货架的摆放得合理,标识得清楚,这样我们才能快速找到自己想要的东西。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程录入界面参考
课程修改界面参考
课程修改界面参考
要求:
界面控件元素布局美观合理;
实现根据不同的约束条件查询;
实现表格循环显示数据功能;
实现相应控件元素的响应事件;
实现课程的增删查改功能;
180分钟内完成制作过程;子系统对系统的用户信息进行管理,能够根据不同的用户权限,实现系统用户的注册、密码修改、更改权限和删除用户等操作。
班级信息管理界面
班级信息管理界面由两部分组成查询信息输入部分和查询信息显示部分。其中,查询信息输入部分提供了三种不同的查询方式:按系部查询、按专业查询、按名称查询。用户需先选择查询方式,然后设置查询条件,点击查询按钮实现查询操作。查询出的信息将显示在界面下半部分的列表中。用户可以选择列表中的信息进行修改或删除操作。
参考界面:
要求:
界面控件元素布局美观合理;
实现用户输入信息验证;
实现用户登录功能;
60分钟内完成制作过程;
三.学生管理系统主界面
功能描述:
根据学生管理系统的主框架。我们设计了学生管理系统主界面,分别由:学生信息管理、班级管理、课程管理、用户管理、退出等5个部分构成。
参考界面:
要求:
界面控件元素布局美观合理;
Java
一.系统功能框架
作为一个学生管理系统,本系统的设计主要包含:系统登录、学生信息管理、班级管理、课程管理和用户管理。学生管理系统主框架的主要结构如下图所示。
二.学生管理系统登录子系统
功能描述:
根据用户权限的不同,可以以不同的身份登录学生管理系统。用户的权限为:管理员、教师、学生。其中,管理员为完全权限,可以使用学生管理系统的所有功能;教师为部分权限,不具有使用“学生选课”、“课程修改”功能,并且只能修改本人的用户名和密码;学生为部分权限,具有“选课”和“课程查询”功能,其他模块只具有查询功能,并且只能修改本人的用户名和密码。
实现树形菜单;
实现根据不同的权限显示相应的菜单项;
60分钟内完成制作过程;
四.学生信息管理子系统
功能描述:
学生信息管理子系统对所有学生的个人信息进行登记,其中包括学生的用户名、姓名、学号、身份证号、地址、所在班级等,并且系统还应能够验证输入错误的学生个人信息记录。学生信息管理子系统由注册、修改和查询三部分组成。
注册、修改界面参考:
查询界面参考:
要求:
界面控件元素布局美观合理;
实现注册、修改和查询界面;
通过表格循环显示学生信息;
实现表格中行信息选择;
180分钟内完成制作过程;
五.选课信息子系统
功能描述:
选课信息管理子系统对学生所选的课程进行管理,包括学生的可选课程和个人已选项课的信息,并可以进行选课和删除信息操作。选课信息管理子系统只能在“学生”权限下使用,界面分为选课和课程查询两部分
界面参考
要求:
界面控件元素布局美观合理;
实现相应控件元素的响应事件;
实现用户的增删改功能;
180分钟内完成制作过程;
参考界面:
要求:
界面控件元素布局美观合理;
实现表格循环显示数据功能;
实现表格中行信息选择;
实现选课信息的添加、删除;
180分钟内完成制作过程;
六.班级管理子系统
功能描述:
班级管理子系统对各专业所属班级进行管理,包括班级的录入和管理两部分。用户录入新的班级,并对已有班级信息进行管理。
录入界面
录入界面可以录入新的班级信息,用户需输入班级信息并选择班级所在系部和专业,点击提交完成录入。
要求:
界面控件元素布局美观合理;
实现根据不同的约束条件查询;
实现表格循环显示数据功能;
实现相应控件元素的响应事件;
180分钟内完成制作过程;
七.课程管理子系统
功能描述:
课程管理子系统对课程信息进行管理,能够录入课程的相关信息,并指定该门课程的任课教师,以供学生选择。课程管理子系统由:课程录入、课程修改和课程查询三部分组成。
相关文档
最新文档