JAVA课程设计报告,基于mysql的学生信息管理系统.doc
《JAVA课程设计报告,基于mysql的学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《JAVA课程设计报告,基于mysql的学生信息管理系统.doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、. .目 录概述3一、课题介绍3二、目的和要求3三、任务方案3需求分析5一、学生管理系统的开展现状5二、系统功能分析5三、系统构造框图5数据库设计7一、创立数据表的构造7二、各表功能及其关系7系统模块功能的实现与界面设计8一、系统主要模块8二、欢迎界面9三、主菜单界面9四、子菜单10五、学生信息录入11六、学生信息查找12七、学生信息删除13八、学生信息修改14课程设计心得15一、程序构造设计培养15二、书写习惯养成15三、注意程序简洁15总结16参考文献17附录:工程源代码18一、数据库连接DbConnection.java18二、学生信息数据库管理Student_Dao.java18三、欢
2、迎界面Wele.java23四、主菜单界面Menu.java24五、子菜单界面Son_Menu.java27六、添加功能Add_Menu.java31七、查找功能Find_Menu.java34八、删除功能Delet_Menu.java36九、修改功能Change_Menu.java38概述一、 课题介绍本次课程设计要现一个面向学生信息的管理系统。学生信息系统是一个非常通用的管理系统。很多大、中、小学校都需要拥有自己的学生档案管理系统,以便对本校学生的根本信息和学习情况进展管理,另一方面,较完整的学校信息管理系统同样也需要有学生信息管理系统的支持。由通用的学生相关数据分析可知,系统包括院系管理
3、、学生根本信息管理、课程管理、学生从成绩管理等主要功能。该系统要求使用JAVA和MySQL作为开发工具和数据库管理系统,因此,系统设计涉及系统功能设计、数据库设计和系统界面等几个方面容。二、 目的和要求1. 了解JAVA语言的特点及使用的围,掌握开发软件平台的搭建。2. 要求使用JAVA和MySQL开发一个学生信息管理系统,系统主要功能如下:1) 院系信息管理院系系统信息的录入,包括院系编号、院系名称等信息;院系信息的修改、删除、查询。2) 学生根本信息管理学生根本信息的录入,包括学号、XX、性别、出生日期、所在院系、班级等信息;学生根本信息的修改、删除、查询。3) 课程设置管理课程信息的录入
4、,包括课程编号、课程名称、学分、课程容等信息;课程信息的修改、删除、查询。4) 学生成绩管理学生成绩的录入,包括课程编号、课程名称、学分、课程容等信息;学生信息的修改、删除、查询。三、 任务方案考虑到本次课程设计是独立完成,所以,不需要进展细致的分工,只要对框架和时间进展一定的规划就行。时间方案执行结果112月13日查阅相关资料准备好根底知识查阅了JAVA Swing,MySQL等方面的相关资料。212月14日进展需求分析得到需求分析总结。312月14日21日正式设计完成代码设计及调试512月22日完成课程设计报告整理文件,并完成书面报告需求分析一、 学生管理系统的开展现状经过了一段时间的开展
5、,当今,各大高校普遍都有了相对完善的学生管理系统,但在局部中小学中,这种高效的管理手段,仍未能全面普及。目前已有的学生管理系统存在界面和操作相对繁琐,实现本钱较高等缺点,仍需改进。二、 系统功能分析由通用的学生相关数据分析可知,系统包括院系管理、学生根本信息管理、课程管理、学生从成绩管理等主要功能 因各模块根本功能相近,故本文仅以学生根本信息管理功能为例。实现以上各模块的功能,需要以下子功能:1数据库连接的建立与断开2数据库的数据操作,包括插入、查询、删除、修改3. 系统操作界面与数据库操作相关联三、 系统构造框图从系统功能表述可以看出,该系统可以实现几个功能,根据这些功能设计出系统的功能模块
6、如图表1所示:学生信息管理系统数据库连接学生根本信息管理课程设置管理学生成绩管理添加查看查询修改删除院系管理图表1 学生信息管理系统功能模块图数据库设计一、 创立数据表的构造以学生根本信息管理系统为例1. 主要数据项学号、XX、性别、出生年月、所在院系、所在班级2. 数据类型及要求为操作方便,均定义为字符串。其中学号不得重复。create table student (id INT(11) PRIMARY KEY NOT NULL UNIQUE,name VARCHAR(20) ,sex CHAR(1),birthday VARCHAR(20),depart VARCHAR(20),class
7、 VARCHAR(20);3. MySQL建表语句二、 各表功能及其关系1. 本系统各表分别存储相应数据。2. 涉及的数据表之间相对独立,但仍有少量关联。1) 学生成绩表 包含对 学生根本信息表 和 课程设置表 的映射2) 学生根本信息表 包含对 院系信息表 的映射系统模块功能的实现与界面设计一、 系统主要模块本次课程设计的主要目的,是通过实践,让我对所学到的知识进展考验和稳固。经过一点时间的了解。设计出了系统的总体框架,参看图表1。由于各模块的功能及原理根本一样,只是涉及的数据类型有所不同,所以本次只对学生根本信息管理的功能进展了较为全面的设计。由于时间关系,其余功能没有进展具体设计。具体的
8、在以下说明中会提及系统界面设计如下:模块名称相关的类登录界面wele.class菜单界面Menu.class数据库管理模块:模块名称相关的类数据库DbConnection.class学生信息数据库管理StudentDao.class院系信息数据库管理DepartDao.class课程信息数据库管理CourseDao.class成绩信息数据库管理ScoreDao.class模块功能界面设计如下:模块名称相关的类子菜单Son_Menu.class添加功能Add_Menu.class查询功能Find_Menu.class删除功能Delet_Menu.class修改功能Change_Menu.clas
9、s二、 欢迎界面1. 实际运行效果图表 2图表 2 欢迎界面2. 实现方法1) 继承了JPanel,并在构造函数中建立JFrame做外框;2) 用JLabel显示欢迎信息容;3) 确定按钮在监听到事件后,new出一个Menu类;三、 主菜单界面1. 实际运行效果图表 32. 实现方法1) 继承JFrame类,在部建立的JPanel插入utton;2) 定义相应按钮的响 应事件,调用子菜单的不同建立函数如new Son_menu().studentmenu();;图表 3 主菜单界面四、 子菜单1. 实际运行效果Error! Reference source not found.图表 4 子菜单
10、2. 实现方法1) 建立JFrame,JTable,utton等工具;2) 建立数据库;3) 将数据库里的数据逐个读入到JTable类;4) 对utton参加ActionListener,并关联相应的功能菜单,如:五、 学生信息录入1. 实际运行效果图表5图表 4 录入学生信息实现方法1) 由输入的学生信息构造一个Student类;2) 利用SQL语句,将Student类插入到数据库;六、 学生信息查找1.实际运行效果图标 6图表 6 查找学生信息实现方法1由输入的学号,利用SQL语句找到相关数据,返回一个Student类;2有那么将student的相关信息显示到JTextArea上,没有那么
11、显示“学生信息未找到;七、 学生信息删除1. 实际运行效果图表 7图表 7 学生信息删除2. 实现方法1) 应用查找功能相似的原理先搜索到要删除的信息;2) 利用SQL语句将找到的信息删除,并显示“学生信息以删除。八、 学生信息修改1. 实际运行效果图表 8 学生信息修改2. 实现方法1) 应用查找功能相似的原理先搜索到要修改的信息;2) 应用删除功能相似的原理删除要修改的信息;3) 调用录入类,录入要修改的新信息;课程设计心得一、 程序构造设计思路培养为了简化程序,我并没有为每个窗口都建一个类,而是把类似的窗口例如student_add,depart_add等建一个类Add_Menu,调用不
12、同的函数建立不同窗口,如:student_add,depart_add;二、 书写习惯的养成好的书写习惯是一个优秀程序员的必备品质。在写代码的时候要随时注意书写的格式。如:1.赋值语句的“=的左右应该用空格隔开;a=1;改为a = 1;这样更为清晰;2.大括号一定要对齐;class public void .三、 注意程序简洁在逐渐适应面向对象编程以后。依然应道保持过去在编程中的一些好习惯。使用Vector等,也需要留意效率。不能只顾用法方便。总结系统设计过程中,主要涉及了包括JAVA根本语法、AWT,Java Swing,MySQL等方面的相关知识。设计中遇到不少问题,到图书馆查阅了不少资料
13、,向王宋君教师请教过不少问题,教师都一一细心解答,非常感谢。由于时间仓促,原本设想的功能还没有一一实现,待进一步完善。 参考文献1. ?Thinking in JavaJava编程思想?第四版,机械工业,【美】Bruce Eckel著,昊鹏译;2. ?精通Java Swing程序设计?中国铁道,林智扬、明翔、锦辉 编著;3. ?深入浅出Java Swing程序设计?中国铁道,林智扬、明翔、锦辉 编著;4. ?Java GUI程序设计?清华大学,肖刚 等编著;5. ?Java信息系统设计与开发实例?机械工业,黄明、梁旭、曹利超 编著;6. ?Java例大全?机械工业,继平、帆 编著;附录:工程源
14、代码一、 数据库连接DbConnection.javapackage 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 = l0
15、57788y;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.printStackTr
16、ace();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.javapackage dao;import java.sql.Connecti
17、on;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.getConne
18、ction();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, stud
19、ent.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;finallyDbConnection.closeConnection(con);return flag;public ArrayList findAll()ArrayList students
20、= new ArrayList();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.s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 课程设计 报告 基于 mysql 学生 信息管理 系统
限制150内