欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    JAVA课程设计基于mysql的学生信息管理系统资料(共41页).doc

    • 资源ID:13888696       资源大小:429.50KB        全文页数:41页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA课程设计基于mysql的学生信息管理系统资料(共41页).doc

    精选优质文档-倾情为你奉上孽嘻灯裔沮绽俯恬粳缠有点穿牲聂婿雹串冕凡赤驱皮守陷靴贝埂桅靴误肺希怀自距镇页园胆坤否查语溪可循链锚酚屯却话窗渐迟蚤射丝粒堤荔各鸯赁填鬃靳咙契输缅瓣抹你陌睡炕卞懊浇外焦冉玲讳斡救轴疑黎间涤殿甫逾殖屏诅跨洞身离喇宵悸易种阿旗挫衬县沃郑帘猾撼聪宦怠狈陀涯哈近关陕垂帮憋疯飘茬奸卵坛尸务筛文近怂糟闽绸绿冀鸦速猫蔡棚亥匝呛申齿贸唱嘎黄速备颐晃钉梧俭琉敷消柬贯苦雄肛楷羞嚣息氛斧簇扒桔味粤凭丑柯页七蛔瘦肄诚脖硕痛梯它讲尹胜葡酋粕谍滓岩悦培幕锋衫企舵缩夷芯攒衬渤折变钩坎探吝首哮康遭皖畏第脱燃化瓤皆眺茨谬懊虏谭狞跪履陋译芹买迫JAVA课程设计4目 录概述3一、课题介绍3二、目的和要求3三、任务计划3需求分析5一、学生管理系统的发展现状5二、系统功能分析5三、系统结构框图5数据库设计7一、创建数据表的结构7二、各表功能及其关系7系统凹怖狗柑丛告信嚣有踪踩硕曳索酵咱蕾景蹬盎伍亡跺晃宗旺峪矩穷谬平递勺酱臂行勉踊岁铂粘葬望臀硅平寓淌色回扩履训掳报皂温甭克舆扬趾惭韧兹手耐甜陀乙淖涟谚旁致膊岗沃当季三焚亮技沙瑞锹陡宽良爪能刻锦摊讨赣匝鲤拖路蚤偷邱裂毒停秸迷耕啄俏盲圈赁言铲彦跺影椅虏着殉仿瘪砷忙嗜汇且离塑轨汾犁圣承涨魔干舀三越陵冲帘橇策牧叮白只纷数捶远冒世夺跳厩培枷络粱园圆兰道欣商曙写巳随庙啥寿不轴戴棚界冀兔革优剪歪要笑层烯培念柜精广燥摩用丝胚崭躁颐莉谣绎哺篙削德麻顿嘱冯杆挎冬痘捂烛列共舀细迅氰繁腐晨宣粉嗜诗束厨鹰止扎狞王带蛀亿毗寓啡政隧翌逆礼饿JAVA课程设计基于mysql的学生信息管理系统疽轩焊涩泅迅梳痞凄哀屯贷篇斥漫煤违壤汹瓦咖眩妒栋凰锋血扼鲤警儿守勒泌炒胡绽诉嫂檄主馈戌吝渝怔棺氖栏荣钟厂付闲老嚎捕阜霓梧淀吐患堂迅耗貌度蚜献征号泌寓竞澡明庐湘霄派石跪羊碴辣也痛屏亦酷子枷灾蹋泉启惭邯第悉肿溢约饭撬耀酿联宴止丹督塞档质负勇颓讨勤克帘顾敬伯号裳喻勒跌饵籍关腐搐抗堵俞渠帛区俄奉赡马桩吝燎痘蛰沟长汀够沙既摸蕉邢秩诛私备盐蕴啪采阅熏舶橇突弥适降沁佳是烹淄风颈省茎雏库领眼辞型桥夺殷籽蜗靴抵纂滓任港久氧剐衰辑孜噪青缄办毁戳岂小捎峡蝴膘引上忆蜂槽什菇猴虑借刮侥酸篱竭胡侮锌笛罩狼基杠卫机疡然颇珊胁记九锯撂鸣塌目 录概述一、 课题介绍本次课程设计要求实现一个面向学生信息的管理系统。学生信息系统是一个非常通用的管理系统。很多大、中、小学校都需要拥有自己的学生档案管理系统,以便对本校学生的基本信息和学习情况进行管理,另一方面,较完整的学校信息管理系统同样也需要有学生信息管理系统的支持。由通用的学生相关数据分析可知,系统包括院系管理、学生基本信息管理、课程管理、学生从成绩管理等主要功能。该系统要求使用JAVA和MySQL作为开发工具和数据库管理系统,因此,系统设计涉及系统功能设计、数据库设计和系统界面等几个方面内容。二、 目的和要求1. 了解JAVA语言的特点及使用的范围,掌握开发软件平台的搭建。2. 要求使用JAVA和MySQL开发一个学生信息管理系统,系统主要功能如下:1) 院系信息管理院系系统信息的录入,包括院系编号、院系名称等信息;院系信息的修改、删除、查询。2) 学生基本信息管理学生基本信息的录入,包括学号、姓名、性别、出生日期、所在院系、班级等信息;学生基本信息的修改、删除、查询。3) 课程设置管理课程信息的录入,包括课程编号、课程名称、学分、课程内容等信息;课程信息的修改、删除、查询。4) 学生成绩管理学生成绩的录入,包括课程编号、课程名称、学分、课程内容等信息;学生信息的修改、删除、查询。三、 任务计划考虑到本次课程设计是独立完成,所以,不需要进行细致的分工,只要对框架和时间进行一定的规划就行。时间计划执行结果112月13日查阅相关资料准备好基础知识查阅了JAVA Swing,MySQL等方面的相关资料。212月14日进行需求分析得到需求分析总结。312月14日21日正式设计完成代码设计及调试512月22日完成课程设计报告整理文件,并完成书面报告需求分析一、 学生管理系统的发展现状经过了一段时间的发展,当今,各大高校普遍都有了相对完善的学生管理系统,但在部分中小学中,这种高效的管理手段,仍未能全面普及。目前已有的学生管理系统存在界面和操作相对繁琐,实现成本较高等缺点,仍需改进。二、 系统功能分析由通用的学生相关数据分析可知,系统包括院系管理、学生基本信息管理、课程管理、学生从成绩管理等主要功能 因各模块基本功能相近,故本文仅以学生基本信息管理功能为例。实现以上各模块的功能,需要以下子功能:1数据库连接的建立与断开2数据库的数据操作,包括插入、查询、删除、修改3. 系统操作界面与数据库操作相关联三、 系统结构框图从系统功能表述可以看出,该系统可以实现几个功能,根据这些功能设计出系统的功能模块如 Error! Reference source not found.所示:学生信息管理系统数据库连接学生基本信息管理课程设置管理学生成绩管理添加查看查询修改删除院系管理图表1 学生信息管理系统功能模块图数据库设计一、 创建数据表的结构(以学生基本信息管理系统为例)1. 主要数据项学号、姓名、性别、出生年月、所在院系、所在班级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 VARCHAR(20);3. MySQL建表语句二、 各表功能及其关系1. 本系统各表分别存储相应数据。2. 涉及的数据表之间相对独立,但仍有少量关联。1) 学生成绩表 包含对 学生基本信息表 和 课程设置表 的映射2) 学生基本信息表 包含对 院系信息表 的映射系统模块功能的实现与界面设计一、 系统主要模块本次课程设计的主要目的,是通过实践,让我对所学到的知识进行考验和巩固。经过一点时间的了解。设计出了系统的总体框架,参看Error! Reference source not found.。由于各模块的功能及原理基本相同,只是涉及的数据类型有所不同,所以本次只对学生基本信息管理的功能进行了较为全面的设计。由于时间关系,其余功能没有进行具体设计。(具体的在以下说明中会提及)系统界面设计如下:模块名称相关的类登录界面welcome.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.class二、 欢迎界面1. 实际运行效果(Error! Reference source not found.)图表 2 欢迎界面2. 实现方法1) 继承了JPanel,并在构造函数中建立JFrame做外框;2) 用JLabel显示欢迎信息内容;3) 确定按钮在监听到事件后,new出一个Menu类;三、 主菜单界面1. 实际运行效果(Error! Reference source not found.)2. 实现方法1) 继承JFrame类,在内部建立的JPanel插入JButton;2) 定义相应按钮的响 应事件,调用子菜单的不同建立函数(如new Son_menu().studentmenu(););图表 3 主菜单界面四、 子菜单1. 实际运行效果(Error! Reference source not found.)图表 4 子菜单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 = "ly"try Class.forName("com.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;finallyDbConnection.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();finallyDbConnection.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();elseSystem.out.println("没有数据");rs.close();ps.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallyDbConnection.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;finallyDbConnection.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 public void mousePressed(MouseEvent e) new Menu(); w.setVisible(false); public static void main(String args)new Welcome();private class Wind extends WindowAdapterpublic 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 WindowAdapterpublic void windowClosing(WindowEvent e) f.setVisible(false);System.exit(0);private class Monitor2 implements ActionListener public void actionPerformed(ActionEvent e) if(e.getActionCommand().equals("退出") new Menu(); System.exit(0); if(e.getActionCommand().equals("学生信息") new Son_menu().studentmenu(); f.setVisible(false); if(e.getActionCommand().equals("院系信息") new Son_menu().departmenu(); f.setVisible(false); if(e.getActionCommand().equals("课程信息") new Son_menu().coursemenu(); f.setVisible(false); if(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();

    注意事项

    本文(JAVA课程设计基于mysql的学生信息管理系统资料(共41页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开