欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

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

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

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

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

    引言1.1 项目的名称学生信息管理系统1.2 项目背景和目标学生信息管理系主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。我们的目标就是为该系统提供后台连接数据库程序设计以及前台用户界面设1.3 项目的可行性研究设计此系统需要java 面向对象编程基础,数据库应用知识以及功能分析。根据目前所开设的课程,学生已经具备这样的知识,有能力综合java 编程知识和数据库应用知识做出一个这样的学生信息管理系统需求分析21 系统概述此系统提供给教师用户和学生用户。教师登陆后可以对学生基本信息表和学生成绩表进行查看、增添新记录和删除记录等操作。学生登陆后能查询自己的成绩2 2 系统运行环境Java 运行在 eclipse 软件上,数据库用mysql 数据库2 3 功能需求描述学生信息管理系统要面对教师和学生用户。对于教师,需要查询全部学生的基本信息和成绩信息,并且可以对其进行修改。对于学生,不需要查询自己的基本信息,只需要查询成绩。为了保护学生成绩隐私,每位学生登录系统后只能查询自己的成绩,而无法看到别人的成绩三、系统设计3 1 开发与设计的总体思想教师方面:教师通过自己的用户名和密码登录后,进入教师主界面,在这个主界面里,可以选择要操作的类别,即查询功能还是修改功能。在查询功能里面,可以选择是查询学生基本信息,还是查询学生成绩信息。在查询学生基本信息时, 可以从依据不同字段,即学生信息表的不同属性进行查找。 在查找学生成绩信息时,只能依据学生姓名和学号进行查找。 在修改功能里面,包括对学生基本信息表和学生成绩表进行增加和删除记录学生方面:学生通过自己的用户名和密码登录此系统后,可以查询自己本学期的各科成绩信息3 2 系统模块结构图3 3 数据库结构设计为了支持此学生信息管理系统,创建数据库studentmanage 。在这个数据库中包含四个表:student 表, teacher 表,studentlogin 表和 score 表。截图如下:在 student (学生基本信息)表中,有五个属性列,分别为:num (学号),sname (学生姓名姓名),sex (性别),age (年龄) , dept (系别) 。其基本数据类型分别为:int, char, char,int , char 。当查询学生基本信息时,从此表中获取数据。截图如下:在 teacher (教师登陆)表中,有两个属性列,分别为:tname (教师姓名), password (登录密码)。其基本数据类型分别为:char , char 。当教师用户登陆此系统时,从该表获取数据。截图如下:在 studentlogin (学生登录)表中,有两个属性列,分别为: sname (学生姓名), password (登录密码)。其基本数据类型分别为:char , char 。当学生用户登陆此系统时,从该表获取数据。截图如下:在score (学生成绩)表中,有五个属性列,分别为:num(学号) , sname (学生姓名), course (课程名称), score(考试成绩), credit (学分) 。其基本数据类型分别为:int ,char , char , int , int。当查询学生成绩信息时,从此表获取数据。截图如下:3 4 模块设计总主界面登陆后,可以选择用户,是学生用户或者教师用户。如果选择学生用户,则进入学生登录界面,在这个界面上输入学生姓名和用户密码。输入后单击“成绩查询”按钮,若密码正确,这显示该学生本人本学期成绩,若密码不正确,这提示密码错误。如果选择教师用户,则进入教师登陆界面,在这个界面上输入教师姓名和用户密码,输入后单击“登录”按钮,则进入教师主界面。在教师主界面可以选择进行查询操作还是修改操作。在 查询操作中包含查询学生基本信息和查询学生成绩信息。若要查询学生基本信息,点击菜单项则进入学生基本信息检 索界面,在此界面的检索方式中选择要检索的数据属性,在检索 内容框中输入检索的具体信息,例如,检索“姓名”字段时,要 键入某个学生姓名。输入后,单击“检索”按钮,则开始数据库 查询。如果数据库检索到所需信息,这生成列表显示检索结构, 如果没有所需信息,则列表中的内容为空。若要查询学生成绩信息,则点击学生成绩查询菜单项,进入 成绩查询界面。在此界面的文本框中输入要查询成绩的学生姓名, 然后单击检索按钮。若数据库中有此学生的成绩信息,则生成列 表显示成绩信息,若没有此记录,则列表内容为空。如果教师要进行修改操作,则在教师主界面上选择修改菜单 项,在此项中,选择要修改的具体内容,总共有四项修改操作: 增加新生信息,删除毕业生信息(这两个是对学生基本信息表的 操作),增加成绩信息,删除成绩信息(这两个是对学生成绩信息 表的操作)。在增加信息操作中,按照标签提示一次输入要增添的 记录值,输入完毕后,单击“添加”按钮,若输入成功,则提示 成功,若输入失败,则提示失败。在删除信息操作中,输入要删 除信息的学生姓名,单击“删除”按钮,若删除成功,则提示成功,若删除失败则提示失败。以上就是该学生信息管理系统的操作步骤。3 5 系统流程描述四、系统实现本系统保存在studentmanage 包里其中包含四个包:connection 包, dao 包, model 包, ui包包中的类 :( 1 ) DBconnection 类: 此类设置程序与数据库的连接,通过设置驱动类型和数据源来确定要连接的数据库。若连接成功,提示:connection success ,若连接失败,提示:connection failureDBconnection 类源代码:package connection;public class DBConnection public static Connection con=null;public static Connection getConnection()try catch (ClassNotFoundException e) try age","root","root"); catch (SQLException e) return con;public static void closeConnection()if(con!=null)try catch (SQLException e) 包中的类:( 1 ) StudentDao 类: 此类中有四个方法,studentLogin ,addStudent , deleteStudent , queryStuden ,作用分别是控制学生登陆,增加学生基本信息,查询学生基本信息,删除学生基本信息。studentLogin ()方法中,有两个参数,分别传给select 语句中的 sname (学生姓名)和password (登录密码),利用select 语句在 studentlogin表中检索学生登录信息。若存在此信息,返回true ,否则返回falseaddStudent() 方法中,有五个参数,分别传给insert 语句中的num (学号),sname (学生姓名),age (年龄),sex (性别)和 dept (系别),利用 insert 语句向 student 学生基本信息表中插入学生记录。若插入成功,返回true ,否则返回falsedeleteStudent ()方法中,有一个参数,传给delete 语句中的 sname (学生姓名),利用 delete 语句,把student 表中相关学生信息删除。若删除成功,返回 true , 否则返回falsequeryStuden ()方法中,有两个参数,分别传给select 语句中的field(查找方式)和key (查找内容),利用select语句,从 student 表中检索学生基本信息。若存在此信息,则返回一个ArrayList类的对象lis (表格),否则,异常处理StudentDao 类源代码:package dao;public class StudentDao public boolean studentLogin(String sname,String password) DBConnection db=new DBConnection();boolean isfound=false;PreparedStatement pst;try isfound=true; catch (SQLException e) return isfound;public boolean addStudent(int num, String sname, String sex,int age,String dept) PreparedStatement pst;try 返回修改的记录数if (count = 1)return true;elsereturn false; catch (SQLException e) return false;public ArrayList queryStudent(String field, String key) ArrayList lis = new ArrayList();Statement stm;try String sql = "select * from student where " + field + " like '%"+ key + "%' " catch (SQLException e) return lis;public boolean deleteStudent(String key) Statement stm;try String sql = "delete from student where sname like '%"+ key + "%' "if (count = 1)return true;elsereturn false; catch (SQLException e) return false;2) TeacherDao 类 :此类中有一个方法:queryTeacher ,作用是控制教师登陆queryTeacher ()方法中,有两个参数,分别传给select 语句中的 tname (教师姓名)和password (登陆密码),利用select 语句在 teacher 表中检索教师登陆信息。若存在此信息,返回 true ,否则返回falseTeacherDao 类源代码:package dao;public class TeacherDao public boolean queryTeacher(String tname,String password) DBConnection db=new DBConnection();boolean isfound=false;PreparedStatement pst;try isfound=true; catch (SQLException e) return isfound;public static void main(String args) ( 3 ) ScoreDao 类: 此类中有四个方法,queryScore,queryScore1,addScore,deleteScor作用分别是为教师用户提供查询学生成绩信息功能,为学生用户提供 询本人成绩信息功能,添加成绩信息,删除成绩信息。queryScore ( ) 方法中, 有一个参数,传给 select 语句中的sname(学生姓名),利用 select 语句,查询学生成绩信息表中的内容。若查询成功,则返回一个 ArrayList类的对象lis (表格),否则,异常处理queryScore1 ()方法中,有一个参数,传给传给select 语句中的 sname (学生姓名),这个 sname 的学生用户登录时输入的姓名。即此类的作用是每个学生登陆只能查看本人成绩。若查询成功,则返回一个ArrayList类的对象lis (表格),否则,异常处理addScore ()方法中,有五个参数,分别传给insert 语句中的num( 学号), sname (学生姓名), course (课程名称), score(成绩) , credit( 学分) 。 利用 insert 语句, 将这些记录写入score表中。若插入成功返回true, 否则返 回 falsedeleteScore ()方法中,有一个参数,传给delete 语句中的sname (学生姓名),利用 delete 语句,把score 表中相关学生信息删除。若删除成功,返回true ,否则返回falseScoreDao 类源代码:package dao;public class ScoreDao public ArrayList queryScore(String key) ArrayList lis = new ArrayList();Statement stm;try String sql = "select * from score where sname like '%"+ key+ "%' " catch (SQLException e) return lis;public ArrayList queryScore1(String key) ArrayList lis = new ArrayList();Statement stm;try + "%' " catch (SQLException e) return lis;public boolean addScore(int num, String sname, String course, int score,int credit) PreparedStatement pst;try if (count = 1)return true;elsereturn false; catch (SQLException e) return false;public boolean deleteScore(String key) Statement stm;try String sql = "delete from score where sname like '%" +key + "%' "if (count = 1) return true;elsereturn false; catch (SQLException e) return false;包中的类:( 1 ) Score 类 :此类中有五个成员变量,int num;Stringsname;String course;int score;int credit; 十个成员方法,分别获取和设置这五个变量,即为score 表中五个属性的记录值,均为getXXX()setXXX() 方法,还有一个构造方法,用于调用其对象时对成员变量赋值Score 类源代码:package model;public class Score int num;String sname;String course;int score;int credit;public int getNum() return num;public void setNum(int num) public String getSname() return sname;public void setSname(String sname) public String getCourse() return course;public void setCourse(String course) public int getScore() return score;public void setScore(int score) public int getCredit() return credit;public void setCredit(int credit) public Score(int num, String sname, String course, int score,int credit)super();( 2 ) Student 类 :此 类 中 有 五 个 成 员 变 量 , int num;String sname;Stringsex;int age;String dept; 十个成员方法,分别获取和设置这五个变量,即为student 表中五个属性的记录值,均为getXXX()setXXX() 方法,还有一个构造方法,用于调用其对象时对成员变量赋值Student 类源代码:package model;public class Student int num;String sname;String sex;int age;String dept;public int getNum() return num;public void setNum(int num) public String getSname() return sname;public void setSname(String sname) public String getSex() return sex;public void setSex(String sex) public int getAge() return age;public void setAge(int age) public String getDept() return dept;public void setDept(String dept) public Student(int num, String sname, String sex, int age,Stringdept)super();包中的类:( 1 ) LoginUI 类 :此类为登陆界面,在这个界面上,设置有两个按钮,学生按钮,教师按钮。给这两个按钮注册事件addActionListener ,分别在内部类TeacherLoginActionListene 和StudentLoginActionListener 中的默认方法actionPerformed ()中创建TeacherLoginUI 类和StudentLoginUI 类的对象,即打开教师登陆界面和学生登录界面,并将原登陆界面关闭。LoginUI 类源代码:package ui;public class LoginUI extends JFrame JLabel l1;JButton bt1, bt2;Container cp;public LoginUI() l1 = new JLabel(" 请选择用户类型");bt1 = new JButton("教师");bt2 = new JButton("学生");JPanel p1 = new JPanel();cp = getContentPane();public void windowClosing(WindowEvent e) );class TeacherLoginActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e)new TeacherLoginUI();dispose();class StudentLoginActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e)new StudentLoginUI();dispose();public static void main(String args) new LoginUI();执行截图如下:( 2 ) StudentLoginUI 类 :此类为学生登陆界面,在这个界面上有两个文本框,分别输入学生姓名和登录密码,还有两个按钮,登陆和退出。输入后,从两个文本框中获取用户输入的内容,点击“登陆”按钮时,调用 StudentDao 类中的studentLogin ()方法验证是否存在该用户。若存在,则创建 StudentScoreUI 类的对象,即打开学生成绩界面,显示此登陆学生的成绩信息,若不存在,则提示密码错误。StudentLoginUI 类源代码:package ui;public class StudentLoginUI extends JFrameJLabel l1, l2;JTextField t1;JPasswordField t2;JButton bt1, bt2;Container cp;public static String st1;public String st2;public StudentLoginUI()l1 = new JLabel(" 学生姓名");l2 = new JLabel(" 密码 ");t1 = new JTextField(12);t2 = new JPasswordField(12);bt1 = new JButton(" 成绩查询");bt2 = new JButton(" 退出 ");JPanel p1 = new JPanel();cp = getContentPane();public void windowClosing(WindowEvent e) );class LoginActionListener implements ActionListener public void actionPerformed(ActionEvent e) StudentDao oneStudentDao = new StudentDao();if (isSuccess) new StudentScoreUI();dispose(); elseclass ExitActionListener implements ActionListener public void actionPerformed(ActionEvent e) public static void main(String args) new StudentLoginUI();执行截图如下:( 3 ) StudentScoreUI 类: 此类为学生成绩界面,此类中有一个标签和一个表格。标签中从StudentLoginUI 类中获取学生登录时使用的用户名,显示在标签中以表示以下是某某同学的成绩信息。表格中为此学生的成绩。调用ScoreDao类中的 queryScore1 () ,将得到的ArrayList 对象 lis 放入Vector 对象中,形成表格。StudentScoreUI 类源代码:package ui;public class StudentScoreUI extends JFrameJLabel selectionLabel;JPanel topPanel;Container container;JTable table;JScrollPane bookScrollPane;JPanel bottomPanel;public StudentScoreUI()selectionLabel = new JLabel(aa+" 同学本学期成绩如下");topPanel = new JPanel();table = new JTable();bookScrollPane = new JScrollPane(table);bottomPanel = new JPanel();ScoreDao oneScore=new ScoreDao();Vector<String> head = new Vector();Vector<Vector> content = new Vector();Vector row = new Vector();DefaultTableModel model = new DefaultTableModel(content, head);repaint();执行截图如下:( 4) TeacherLoginUI 类 :此类为教师登陆界面,在这个界面上有两个文本框,分别输入教师姓名和登录密码,还有两个按钮,登陆和退出。输入后,从两个文本框中获取用户输入的内容,点击“登陆”按钮时,调用 TeacherDao 类中的queryTeacher ()方法验证是否存在该用户。若存在创建TeacherMainUI 类的对象,即打开教师主界面,若不存在,则提示密码错误。TeacherLoginUI 类源代码:package ui;public class TeacherLoginUI extends JFrame JLabel l1, l2;JTextField t1;JPasswordField t2;JButton bt1, bt2;Container cp;public TeacherLoginUI()11 = new JLabel(" 教师姓名");12 = new JLabel(" 密码 ");t1 = new JTextField(12);t2 = new JPasswordField(12);bt1 = new JButton("登录");bt2 = new JButton("退出");JPanel p1 = new JPanel();cp = getContentPane();public void windowClosing(WindowEvent e);class LoginActionListener implements ActionListener public void actionPerformed(ActionEvent e) TeacherDao oneTeacherDao = new TeacherDao();if (isSuccess) new TeacherMainUI();dispose(); elseclass ExitActionListener implements ActionListener public void actionPerformed(ActionEvent e) public static void main(String args) new TeacherLoginUI();执行截图如下:( 5 ) TeacherMainUI 类: 此类为教师主界面类,在此界面上有一个菜单栏,三个菜单:文件,查询,修改。其中“文件”菜单中有“退出”菜单项,点击时跳出对话框问是否真的退出, 若点击是,窗口关闭,若点击否,回复原界面。 “查询”菜单中有“学生基本信息”和“学生成绩信息”两个菜单项:当点击“学生基本信息”时,通过注册事件,创建InformationQueryUI 类的对象,即打开查询学生基本信息的窗口,当点击“学生成绩信息”时,通过注册事件,创建ScoreQueryUI 类的对象,即打开查询学生成绩信息的窗口。修改菜单中有“增加新生信息” “删除毕业生信息” “增加成绩信息”和“删除成绩信息”四个菜单项,当点击“增加新生信息” 时, 通过注册事件,创建 StudentAddUI 类的对象,即打开添加学生基本信息的窗口,当点击 “删除毕业生信息”时,通过注册事件,创建StudentDeleteUI 类的对象,即打开删除学生基本信息的窗口,当点击 “增加成绩信息”时,通过注册事件,创建 ScoreAddUI 类的对象,即打开添加成绩信息的窗口,当点击 “删除成绩信息”时, 通过注册事件,创建 ScoreDeleteUI 类的对象,即打开删除成绩信息的窗口。TeacherMainUI 类源代码:package ui;public class TeacherMainUI extends JFrameContainer ctp;TeacherMainUI()JMenuBar menuBar = new JMenuBar();buildMainMenu(menuBar);public void buildMainMenu(JMenuBar menuBar)JMenu fileMenu=new JMenu(" 文件 ");JMenuItem exitMenuItem=new JMenuItem(" 退出 ");JMenu queryMenu=new JMenu(" 查询 ");JMenuItem queryMenuItem=new JMenuItem(" 学生基本信息");JMenuItem queryScoreMenuItem=new JMenuItem(" 学生成绩查询");JMenu changeMenu=new JMenu(" 修改 ");JMenuItem addMenuItem=new JMenuItem(" 增加新生信息");JMenuItem deleteMenuItem=new JMenuItem(" 删除毕业生信息");JMenuItem addScoreMenuItem=new JMenuItem(" 增加成绩信息");JMenuItem deleteScoreMenuItem=new JMenuItem(" 删除成绩信息");class ExitActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) null);if (result = 0)else if (result = 1) class QueryScoreActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) new ScoreQueryUI();class QueryActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e)new InformationQueryUI();class AddActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e)new StudentAddUI();class DeleteActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e)new StudentDeleteUI();class AddScoreActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) new ScoreAddUI();class DeleteScoreActionListener implements ActionListenerpublic void actionPerformed(ActionEvent e) new ScoreDeleteUI();public static void main(String args) new TeacherMainUI();执行截图如下:( 6 ) InformationQueryUI 类 :此类为学生基本信息查询界面类,在此界面上有一个标签,一个下拉列表框,一个文本框和一个按钮。点击下拉列表框时,可以选择要检索的方式,即要检索的属性,单击时,通过注册事件,在内部类的方法里获取所点击的属性名称,保存在一个String 型的变量里。在文本框中输入要检索的属性内容,单击“检索”按钮时,通过注册事件,在内部类的方法中把刚才获取的属性参数和内容参数传给StudentDao 类的 queryStudent ()方法, 从而获取检索内容,再把检索得到的内容通过Vector对象放入Arra

    注意事项

    本文(java课程设计——学生信息管理系统.docx)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开